Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vbscript 如何从函数返回数据库连接?_Vbscript_Asp Classic_Ado - Fatal编程技术网

Vbscript 如何从函数返回数据库连接?

Vbscript 如何从函数返回数据库连接?,vbscript,asp-classic,ado,Vbscript,Asp Classic,Ado,我需要修改一些用经典ASP(VBscript)编写的遗留代码 我有一行代码设置数据库连接,如下所示: set m_conn=OpenConn() set conn = server.createobject("adodb.conection") conn.activeconnection = "connectionstring" conn.execute "sql" set conn = nothing 我相信OpenConn()函数在某个DLL中。这是个坏消息,因为我们无法找到该dll的源

我需要修改一些用经典ASP(VBscript)编写的遗留代码

我有一行代码设置数据库连接,如下所示:

set m_conn=OpenConn()
set conn = server.createobject("adodb.conection")
conn.activeconnection = "connectionstring"
conn.execute "sql"
set conn = nothing
我相信
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 m_conn=OpenConn()
set conn = server.createobject("adodb.conection")
conn.activeconnection = "connectionstring"
conn.execute "sql"
set conn = nothing
无论如何,我正在寻找
OpenConn()
的正确语法,以便
set m\u conn=OpenConn()
能够正常工作


谢谢你的帮助。

我又摸索了一会儿,终于明白了

函数定义应为:

function OpenConn() 

    dim conn 
    set conn = server.CreateObject("adodb.connection") 
    conn.open "XXXXconnection-stringXXXXX"   

    set OpenConn = conn  ' change - added "set"

end function

我又摸索了一会儿,才明白过来

函数定义应为:

function OpenConn() 

    dim conn 
    set conn = server.CreateObject("adodb.connection") 
    conn.open "XXXXconnection-stringXXXXX"   

    set OpenConn = conn  ' change - added "set"

end function