У меня есть старый код, написанный кем-то еще, который недавно сломался во время обновления сервера.
Я создал 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/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
%>
Затем я попробовал 64-битные соединения и получил эту ошибку:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
/path/to/connection/file.asp, line 12
Код с вышеуказанной ошибкой:
<%
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
%>
Мне нужна помощь, чтобы исправить это, поэтому любые комментарии очень ценятся.