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

14713
Ian Boyd

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

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


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

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

enter image description here

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

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

enter image description here


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

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

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

    C:\Users\Ian>telnet avenger 1433 
  • SQL Server будет слушать порт 1433:
    enter image description here

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

  • Я могу 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-адресу (а не по имени) не имеет никакого эффекта:
    enter image description here

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

10
Хотя прошло много времени, спасибо за то, что включили так много деталей. ta.speot.is 12 лет назад 1

4 ответа на вопрос

10
ta.speot.is

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

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

Оказывается, это * это * это. Следует отметить, что просто `AVENGER \ SQLEXPRESS` не работал; Я ** должен был ** включить (стандартный) порт. Ian Boyd 12 лет назад 0
Более опасные предположения, но компьютер, на котором работает Excel, не может связаться со службой браузера SQL на сервере (или служба не работает). ta.speot.is 12 лет назад 0
0
Arnstein Woldstad

I had the same problem.

An old application had registered an old version of SQLOLEDB.DLL in

C:\Windows\System32 

Fixed by running these commands:

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

and

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

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

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

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

Похожие вопросы