Не удается подключиться к SQL Server из Excel 2007


10

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

[DBNETLIB] [ConnectionOpen (Invalid Instance ()).] Неверное соединение.


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

  • На вкладке « Данные » в группе « Получить внешние данные » выберите « Из других источников» , а затем нажмите « Из 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 не работает на сервере:
    введите описание изображения здесь


1
Хотя это было какое-то время, спасибо, что включили так много деталей.
— ta.speot.is

Ответы:


11

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

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


Оказывается, это есть что. Следует отметить, что просто AVENGER\SQLEXPRESSне работал; я должен был включить (стандартный) порт.
— Ян Бойд

Более опасные предположения, но компьютер, на котором работает Excel, не может обмениваться данными со службой браузера SQL на сервере (или служба не работает).
— ta.speot.is

0

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

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

C:\Windows\System32

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

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

и

del c:\WINDOWS\system32\sqloledb.dll

0

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

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

0

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.