Vba 在经典asp中连接到数据库
我有别人写的旧代码,最近在服务器升级过程中被破坏了 我创建了32位DSN连接和64位DSN连接 32位的错误如下所示Vba 在经典asp中连接到数据库,vba,asp-classic,Vba,Asp Classic,我有别人写的旧代码,最近在服务器升级过程中被破坏了 我创建了32位DSN连接和64位DSN连接 32位的错误如下所示 Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application /path/to/
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application
/path/to/connection/file.asp, line 12
出现上述错误的代码是:
<%
dim Conn
Dim powerConn
dim connstr
Dim pconnstr
connstr = Application("databaseA")
pconnstr = Application("databaseB")
Sub openConnection()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.ConnectionTimeout = 600
Conn.CommandTimeout = 600
Conn.Open connstr // Error occurs here
Set pConn = Server.CreateObject("ADODB.Connection")
pConn.Open pconnstr
End Su
Sub closeConnection()
Conn.close
set Conn = Nothing
pConn.Close
set pConn = Nothing
End Sub
%>
<%
dim Conn
Dim powerConn
dim connstr
Dim pconnstr
connstr = Application("databaseA_64bit")
pconnstr = Application("databaseB_64bit")
Sub openConnection()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.ConnectionTimeout = 600
Conn.CommandTimeout = 600
Conn.Open connstr // Error occurs here
Set pConn = Server.CreateObject("ADODB.Connection")
pConn.Open pconnstr
End Su
Sub closeConnection()
Conn.close
set Conn = Nothing
pConn.Close
set pConn = Nothing
End Sub
%>
出现上述错误的代码是:
<%
dim Conn
Dim powerConn
dim connstr
Dim pconnstr
connstr = Application("databaseA")
pconnstr = Application("databaseB")
Sub openConnection()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.ConnectionTimeout = 600
Conn.CommandTimeout = 600
Conn.Open connstr // Error occurs here
Set pConn = Server.CreateObject("ADODB.Connection")
pConn.Open pconnstr
End Su
Sub closeConnection()
Conn.close
set Conn = Nothing
pConn.Close
set pConn = Nothing
End Sub
%>
<%
dim Conn
Dim powerConn
dim connstr
Dim pconnstr
connstr = Application("databaseA_64bit")
pconnstr = Application("databaseB_64bit")
Sub openConnection()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.ConnectionTimeout = 600
Conn.CommandTimeout = 600
Conn.Open connstr // Error occurs here
Set pConn = Server.CreateObject("ADODB.Connection")
pConn.Open pconnstr
End Su
Sub closeConnection()
Conn.close
set Conn = Nothing
pConn.Close
set pConn = Nothing
End Sub
%>
我需要帮助来解决这个问题,因此非常感谢您的评论。对于经典ASP应用程序,应用程序变量通常在
global.asa
中指定。由于您的连接字符串似乎是从应用程序(“databaseA_64bit”)
分配的,因此您应该查看一下以找到您的连接字符串
DSN配置通常位于控制面板>管理工具>数据源>用户/本地/系统DSN中。请显示
应用程序(“databaseA_64位”)
的相关连接字符串-您可以xxx输出凭据/服务器名称。DSN设置时连接字符串在哪里?我不理解经典asp,因为它不是.NET,其中有一个web.config。那么,您在应用程序变量中设置了它,所以它可能在您的global.asa中?DSN配置通常位于控制面板>管理工具>数据源>用户/本地/系统DSNIt位于gloabal文件中。谢谢