我已将在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)
由于 克里斯
答案 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)我不明白为什么这在以前不起作用。