Я пытаюсь подключиться к 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 не работает на сервере:
Ответы:
Я бы рискнул предположить, что вы на самом деле используете именованный экземпляр, а собственный клиент SQL позволяет вам избежать использования в
AVENGER
качестве имени сервера, ноDBNETLIB
(который я считаю старым клиентом SQL) более требователен.Вы уверены, что это не так
AVENGER\SQLEXPRESS,1433
?источник
AVENGER\SQLEXPRESS
не работал; я должен был включить (стандартный) порт.У меня такая же проблема.
Старое приложение зарегистрировало старую версию
SQLOLEDB.DLL
вИсправлено с помощью этих команд:
и
источник
Использование имени сервера данных сервера SQL исправило это в Excel 2013
источник
У меня была такая же проблема при подключении из Access 2007 к SQL Server 2016. В моем случае решение состояло в том, чтобы включить протокол TCP / IP (в диспетчере конфигурации SQL Server).
источник