10

Я пытаюсь подключиться к Microsoft SQL Server 2008 R2 из Excel 2007. Когда он пытается подключиться, я получаю сообщение об ошибке:

[DBNETLIB] [ConnectionOpen (неправильный экземпляр ()).]Неверное соединение.


Действия по воспроизведению

  • На вкладке « Данные » в группе « Получить внешние данные » выберите « Из других источников», а затем нажмите « Из SQL Server»:

  • введите имя компьютера с SQL Server в поле Имя сервера .

  • Чтобы ввести имя пользователя и пароль базы данных, нажмите « Использовать следующие имя пользователя и пароль», а затем введите свое имя пользователя и пароль в соответствующие поля « Имя пользователя и пароль» :


Дополнительная информация

  • Я могу подключиться к SQL Server из SQL Server Management Studio:

  • Я могу подключиться к SQL Server с помощью telnet:

    C:\Users\Ian>telnet avenger 1433
    
  • SQL Server прослушивает порт 1433:

  • Excel делает подключение и получить трафик ответа от SQL Server:

  • Я могу ping сервер:

    C:\Users\Ian>ping avenger
    
    Pinging avenger.newland.com [192.168.1.244] with 32 bytes of data:
    Reply from 192.168.1.244: bytes=32 time=1ms TTL=128
    Reply from 192.168.1.244: bytes=32 time<1ms TTL=128
    Reply from 192.168.1.244: bytes=32 time<1ms TTL=128
    Reply from 192.168.1.244: bytes=32 time<1ms TTL=128
    
    Ping statistics for 192.168.1.244:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 1ms, Average = 0ms
    
  • Попытка подключения по IP-адресу (а не по имени) не имеет никакого эффекта:

  • Брандмауэр Windows не работает на сервере:

4 ответа4

10

Я бы рискнул предположить, что вы на самом деле используете именованный экземпляр, а собственный клиент SQL позволяет вам избежать использования AVENGER качестве имени сервера, но DBNETLIB (который я считаю старым клиентом SQL) более требователен.

Вы уверены, что это не AVENGER\SQLEXPRESS,1433?

0

У меня такая же проблема.

Старое приложение зарегистрировало старую версию SQLOLEDB.DLL в

C:\Windows\System32

Исправлено с помощью этих команд:

regsvr32 "c:\Program Files\Common Files\System\Ole DB\sqloledb.dll"  

а также

del c:\WINDOWS\system32\sqloledb.dll
0

У меня была такая же проблема при подключении из Access 2007 к SQL Server 2016. Решение в моем случае состояло в том, чтобы включить протокол TCP/IP (в диспетчере конфигурации SQL Server).

0

Использование имени сервера данных сервера SQL исправило это в Excel 2013

  1. Подключитесь к серверу базы данных с помощью SQL Server Management Studio
  2. Щелкните правой кнопкой мыши сервер в обозревателе объектов.
  3. Выберите Свойства
  4. Используйте значение Имени в список на странице Общих свойств сервера

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .