无法从Excel 2007连接到SQL Server


10

我正在尝试从Excel 2007连接到Microsoft SQL Server 2008 R2。当它尝试连接时,出现错误:

[DBNETLIB] [ConnectionOpen(无效的Instance())。]无效的连接。


重现步骤

  • 在“ 数据”选项卡上的“ 获取外部数据”组中,单击“ 来自其他来源”,然后单击“ 来自SQL Server”

在此处输入图片说明

  • 在“ 服务器名称”框中键入SQL Server计算机的名称

  • 要输入数据库用户名和密码,请单击“ 使用以下用户名和密码”,然后在相应的“ 用户名密码”框中键入您的用户名和密码:

在此处输入图片说明


附加信息

  • 可以SQL Server Management Studio连接到SQL Server :
    在此处输入图片说明

  • 可以使用以下命令连接到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。是2011年

Answers:


11

我可能会猜测您实际上正在使用命名实例,而SQL Native Client允许您摆脱使用AVENGER服务器名称的麻烦,但是DBNETLIB(我相信这是旧的SQL Client)要求更高。

您确定不是AVENGER\SQLEXPRESS,1433吗?


原来这样。应该指出的是,它根本AVENGER\SQLEXPRESS没有用;我必须包括(标准)端口。
伊恩·博伊德

更危险的猜测,但是运行Excel的计算机无法与服务器上的SQL Browser服务通信(或该服务未运行)。
ta.speot.11年

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 Server数据服务器名称在Excel 2013中为我修复了此问题

  1. 使用SQL Server Management Studio连接到数据库服务器
  2. 对象资源管理器中右键单击服务器
  3. 选择属性
  4. 使用服务器的“常规属性”页面上列出的“ 名称”

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.