Мое приложение "классический ASP" работает на Windows Server 2003 и использует ADO для подключения к базе данных SQL Server 2008.
Сервер баз данных обновляется после изменения и будет работать под управлением SQL Server 2017.
Я пытаюсь доказать, что старое приложение все еще может работать, подключаясь к этой более новой версии SQL Server. ,
До сих пор мне не удавалось подключиться к установке SQL Server 2017 со старой машины WS2003.
Я не уверен, каких поставщиков или драйверов OLEDB или ODBC мне нужно установитьчтобы это сработало, и, в конечном итоге, то, какой должна быть строка подключения.
Я создал небольшую демонстрационную программу для подключения с использованием того же кода, что и в реальном приложении. По сути, все, что я здесь делаю, - это предоставление строки подключения и попытки подключения. Это VB6 с использованием ADO:
Private Sub btnConnect_Click()
Dim theConnection As New ADODB.Connection
theConnection.ConnectionString = Text1.Text
theConnection.Open ConnectString
If theConnection.State = 1 Then
MsgBox ("connected ")
Else
MsgBox ("failed to connect ")
End If
End Sub
Я могу запустить эту программу на новом сервере - на SQL Server 2017, и он успешно подключается.
Эта строка подключения работает:Драйвер = {Собственный клиент SQL Server 11.0}; Сервер = 192.168.0.23; База данных = TestDB; Uid = user1; Pwd = xxx;
Это также работает: Driver = {SQL Server}; Сервер = 192.168.0.23; Database = TestDB; Uid = user1; Pwd = xxx;
Это точный формат, используемый существующим кодом для подключения.
Теперь я понимаю, что для ADO я не указал поставщика, поэтому я думаю, что по умолчанию используется MSDASQL, поставщик OLEDB от Microsoft для ODBC.
Итак, чтобы подключить его к WS2003сервер приложений, где у меня проблемы. Это будет возможно?
Я пробовал эти строки подключения со следующими результатами:
Driver = {SQL Server}; Сервер =; База данных = yyy; Uid = xxx; Pwd = xxx;Это работает - и это существующая база данных SQL2008.
Драйвер = {SQL Server}; Сервер =; База данных = TestDB; Uid = user1; Pwd = xxx;Это сообщение занимает около 20-30 секунд с ошибкой: [ODBC SQL SERVER DRIVER] SQL Server не существует или доступ запрещен
Возможно ли подключиться к «старому» драйверу {SQL Server}? в SQL2017?
Драйвер = {Собственный клиент SQL Server 11.0}; Сервер = 192.168.0.23; База данных = TestDB; Uid = user1; Pwd = user1;Это немедленно завершается ошибкой с сообщением: [ODBC Driver Manager] Имя источника данных не найдено, и не указан драйвер по умолчанию
Означает ли это, что драйвер ODBC {Собственный клиент SQL Server 11.0} не установлен на компьютере WS2003? Это можно установить?
Я попытался просмотреть различные установки драйвера ODBC от Microsoft здесь: https://docs.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-2017
Однако я не уверен, нужно ли мне это делать или они совместимы с WS2003,
Microsoft ODBC Driver 17 для SQL Server: требуется как минимум Windows Server 2008 R2. То же самое для Microsoft ODBC Driver 13 и 11. Я установил версию 11, хотя она, вероятно, не поддерживается. Я использовал это для успешного создания нового источника данных ODBC для старой базы данных SQL2008, но не для базы данных SQL2017.
Что мне нужно сделать, чтобы решить эту проблему?