我需要修改一些用经典ASP(VBscript)编写的遗留代码。
我有一行设置数据库连接,如下所示:
set m_conn=OpenConn()
我相信OpenConn()
函数在某个DLL中。这是坏消息,因为我们找不到该dll的源代码。所以,我一直在努力替换这个功能。这就是我到目前为止所做的:
function OpenConn()
dim conn
set conn = server.CreateObject("adodb.connection")
conn.open "XXXXconnection-stringXXXXX"
OpenConn = conn
end function
当我尝试运行原始行set m_conn=OpenConn()
(第50行)时,出现ASP错误:
Microsoft VBScript runtime error '800a01a8'
Object required: '[string: "Provider=SQLOLEDB.1;"]'
/path/to/include.asp, line 50
我不太清楚这种语法应该如何工作。通常,我在C#中工作,但是当我需要在ASP中执行这样的操作时,我会使用这样的语法:
set conn = server.createobject("adodb.conection")
conn.activeconnection = "connectionstring"
conn.execute "sql"
set conn = nothing
无论如何,我正在寻找OpenConn()
的正确语法,以便set m_conn=OpenConn()
正常工作。
感谢您的帮助。
答案 0 :(得分:5)
再多一点后,我想出来了。
函数定义应该是:
function OpenConn()
dim conn
set conn = server.CreateObject("adodb.connection")
conn.open "XXXXconnection-stringXXXXX"
set OpenConn = conn ' change - added "set"
end function