Не удается подключиться из классического ASP к SQL Server 2008 R2 с помощью собственного клиента SQL (Windows 7 - IIS7) - PullRequest
11 голосов
/ 07 марта 2011

Я могу подключиться к SQL Server 2008 R2, когда использую Provider=SQLOLEDB в строке подключения. Но когда я использую Provider=SQLNCLI в строке подключения, я не могу подключиться.

ADODB. Ошибка соединения '800a0e7a'

Провайдер не найден. Может не быть правильно установленным.

/ test.asp, строка 7

Код, написанный в test.asp ниже

<%
    Set cn = Server.CreateObject("ADODB.Connection")

    'Doesn't work
    cn.Open "Provider=SQLNCLI;Server=remoteServer\SQL2008R2;Database=DB;UID=MyUser;PWD=pa55word;"  

    'Works Perfectly
    'cn.Open "Provider=SQLOLEDB;Server=remoteServer\SQL2008R2;Database=DB;UID=MyUser;PWD=pa55word;" 

    cn.CommandTimeout = 900
    cn.Close
    Response.write("dfjslkfsl")
%>

SQL-сервер, к которому я пытаюсь подключиться (с классической страницы ASP в IIS 7 на Windows 7), расположен на другом сервере в другой сети, к которой я подключаюсь с помощью VPN.

Я протестировал собственный клиент sql, создав системное DSN-соединение sql-сервера с указанным Sql-сервером 2008 R2 (подключенным через VPN) от администратора источника данных ODBC. И он успешно подключился.

Эти снимки из моей системы Windows 7 Appwiz.cpl snap

IIS 7 features

enter image description here

  • Windows 7
  • IIS 7
  • Классическая ASP-страница (.asp)

Ответы [ 4 ]

15 голосов
/ 11 марта 2011

Попробуйте изменить провайдера на sqlncli10:

cn.Open "Provider=SQLNCLI10;Server=remoteServer\SQL2008R2;Database=DB;UID=MyUser;PWD=pa55word;"

Может быть, имя на вашей машине другое. :)

4 голосов
/ 11 октября 2012

Для пользователей, на которых установлена ​​только Visual Studio 2012, можно использовать Provider=SQLNCLI11, так как SQLNCLI10 недоступно для меня на моей новой установленной системе.

cn.Open "Provider=SQLNCLI11;Server=remoteServer\SQL2008R2;Database=DB;UID=MyUser;PWD=pa55word;"
0 голосов
/ 13 июля 2015

Прекрасно работает:

"Provider=SQLNCLI;Server=xxxxxxxx;uid=sa;pwd=xxxxxx;database=xxxxxx;"
0 голосов
/ 07 марта 2011

Это может быть связано с фактом VPN.Возможно, приложение действует как другой пользователь, который не имеет доступа к VPN.

Попробуйте отключить анонимную аутентификацию в IIS и / или сделать удостоверение пула приложений тем же пользователем, которого вы используете для входа в систему.Windows 7 и посмотрите, решит ли это проблему.

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