经典的ASP DB打开功能不起作用

时间:2008-11-19 17:55:08

标签: asp-classic windows-server-2008

我已将在Windows Server 2003上运行的经典asp网站转移到Windows Server 2008,但突然之下以下代码已停止工作。

Const connStr_FC08 = "Provider=SQLNCLI10;Server=DS-47500;Database=TestDB;Uid=TestLogin;Pwd=test;Network=dbmssocn;"

Function connDB(OpenDB)
    DIM conn
    SET conn = Server.CreateObject("ADODB.Connection")
    conn.open = connStr_FC08
    If OpenDB = "Y" Then conn.open
    connDB = conn
End Function

dim cn, cmd
cn = connDB("Y")
response.Write(cn.state)

返回以下错误

Microsoft VBScript runtime error '800a01a8' 

Object required: 'Provider=SQLNCLI10.1'

这发生在下面一行

response.write(cn.state)

由于 克里斯

3 个答案:

答案 0 :(得分:2)

我发现您发布的代码存在一些可能的语法问题:

    ...
    conn.open = connStr_FC08
    ...
    connDB = conn
...
cn = connDB("Y")

是否应该更新到以下内容?

    ...
    conn.ConnectionString = connStr_FC08
    ...
    Set connDB = conn
...
Set cn = connDB("Y")

答案 1 :(得分:0)

您安装了SQL Provider吗?

您可以将该函数放入一个简单的VBScript脚本中进行测试,而无需更改任何页面。

答案 2 :(得分:0)

如果我从函数中取出连接并插入内联,则没有错误并且它可以正常工作。

但我的整个网站都使用这个功能,所以a)我不想重写我的代码和b)我不明白为什么这在以前不起作用。