Подключение к локальному экземпляру SQL Server Express 2008 из классического ASP с использованием SQLOLEDB - PullRequest
1 голос
/ 29 декабря 2011

Я пытаюсь настроить сервер тестирования разработки, Windows 2008 Server с IIS и SQL Server 2008 Express.IIS и классический ASP (да, поддержка устаревших проектов) работает нормально, включая подключение к удаленным серверам SQL Server 2008 через SQLOLEDB.

Однако мне не удается подключиться к локальному экземпляру SQL Server 2008 Express.Он устанавливается как экземпляр (т. Е. PC-NAME\SQLEXPRESS), и авторизация пользователя / pwd включена.Я могу успешно настроить запись ODBC, поэтому сервер работает нормально.Проблема заключается в том, что IIS-ASP-SQLOLEDB видит сервер и подключается к нему.

Простая строка подключения, которая работает на любых удаленных серверах SQL Server 2008, не работает на моем локальном экспресс-сервере:

Provider=SQLOLEDB;Data Source=.\SQLEXPRESS;User ID=userName;Password=_pwd_;Database=DbName

Я получаю ошибку:

SQL Server не существует или доступ запрещен.

Журнал ошибок сервера не содержит следов неудачной попытки входа в систему., поэтому я предполагаю, что существует проблема с разрешением источника данных (из-за имени экземпляра?), или сервер каким-то образом недоступен (протокол, настройки безопасности?) из процесса IIS.

1 Ответ

0 голосов
/ 30 декабря 2011

В SQL Server 2008 Express Edition он работает на динамических портах.Решение состоит в том, чтобы просто перейти к свойствам TCP / IP и в порте TCP просто указать любой порт, который вы хотите, чтобы ваш SQL Server прослушивал.

strConn = "Provider=SQLOLEDB; Network Library=DBMSSOCN; Data Source=.\SQLEXPRESS;     Connection Timeout=15;Packet Size=4096; Initial Catalog=DbName; User ID=userName; Password=_pwd_;"

Можете ли вы опубликовать, как вы получаете доступ к объекту подключения через ASP?

...