Доступ к SQL по другому номеру порта (классическая строка подключения ASP)
-
06-07-2019 - |
Вопрос
У меня есть старый классический ASP-сайт, который подключается к локальному экземпляру sql server 2000. Мы перемещаем базу данных в новый ящик, и порт не является стандартным для sql (вне моего контроля). Строки подключения .NET прекрасно обрабатывают номер порта, добавляя его с 1999 после имени сервера / IP. Классическая строка подключения ASP не работает с тем же синтаксисом. Я проверил connectionstrings.com и не смог найти тот, который работал.
Текущая строка подключения (задайте переменную приложения в Global.asa):
Driver={SQL Server};Server=xxx.xxx.xxx.xxx;Database=dbname;Uid=dbuser;Pwd=dbpassword
Я установил собственный клиент SQL и не смог заставить его работать (все еще работаю над этим)
Есть идеи?
Решение
Решением было установить собственный драйвер SQL от MS, а затем обновить строку подключения следующим образом:
Driver={SQL Native Client};Server=xxx.xxx.xxx.xxx,port;Database=dbname;Uid=dbuser;Pwd=dbpassword
Изначально я не мог заставить его работать с собственным клиентом SQL из-за проблемы с брандмауэром, которая позже была решена.
Другие советы
Я думаю, что нам нужно больше информации. Что вы используете для подключения к базе данных? ODBC? OLE DB? Вы подключаетесь через ODBC DSN? Это строка подключения в вашем коде ASP или доступ к данным через VB или COM DLL?
cst = "Provider=SQLOLEDB;" & _
"Data Source=<x.x.x.x>,<port number>;" & _
"Initial Catalog=<dbname>;" & _
"Network=DBMSSOCN;" & _
"User Id=<uid>;" & _
"Password=<pwd>"
set conn = CreateObject("ADODB.Connection")
conn.open cst