Подключение к базе данных в классическом ASP - PullRequest
0 голосов
/ 02 июля 2018

У меня есть старый код, написанный кем-то еще, который недавно сломался во время обновления сервера.

Я создал 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
%>

Мне нужна помощь, чтобы исправить это, поэтому любые комментарии очень ценятся.

1 Ответ

0 голосов
/ 02 июля 2018

Переменные приложения обычно назначаются в global.asa для классических приложений ASP. Поскольку ваша строка подключения, по-видимому, назначена из Application("databaseA_64bit"), вам следует взглянуть туда, чтобы найти строку подключения.

Конфигурации DSN чаще всего находятся в Панели управления> Инструменты администратора> Источники данных> Пользователь / Локальный / Системный DSN.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...