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

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

ADODB.Connection error '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 Server, с которым я пытаюсь подключиться (с классической ASP-страницы в моем IIS 7 на Windows 7), расположен на другом сервере в другой сети, к которой я подключаюсь, используя VPN.

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

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

IIS 7 features

enter image description here

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

Ответ 1

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

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

Возможно, имя на вашем компьютере отличается.:)

Ответ 2

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

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

Ответ 3

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

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

Ответ 4

Работает отлично:

"Provider=SQLNCLI;Server=xxxxxxxx;uid=sa;pwd=xxxxxx;database=xxxxxx;"