0

我已将在 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)

谢谢克里斯

4

3 回答 3

2

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

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

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

    ...
    conn.ConnectionString = connStr_FC08
    ...
    Set connDB = conn
...
Set cn = connDB("Y")
于 2008-11-22T02:10:52.380 回答
0

如果我从函数中打开连接并放入内联,那么没有错误并且它可以工作。

但是我的整个网站都是通过使用这个函数来工作的,所以a)我不想重写我的代码,b)我不明白为什么这在以前不起作用。

于 2008-11-19T19:15:00.567 回答
0

你安装了那个 SQL Provider 对吗?

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

于 2008-11-19T18:05:48.787 回答