从 Windows 远程连接到 SQL SERVER 时遇到了一些问题。我已通过 SQL SERVER MANAGEMENT STUDIO EXPRESS 和 SQL SERVER CONFIGURATION MANAGER 验证了我的所有设置均正确无误。
我可以使用其他操作系统(例如 OS X、Linux 等)的 ODBC 驱动程序进行远程连接。但是,当我使用相同的凭据从使用“SQL SERVER”作为驱动程序的远程 Windows 计算机进行连接时,系统提示无法连接。
我尝试创建 ODBC 数据源,但出现相同的错误:
Connection failed:
SQLState: '01000'
SQL Server Error: 14
[Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]ConnectionOpen(InvalidInstance()).
Connection failed:
SQLState: '08001'
SQL Server Error: 14
[Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]Invalid Connection
在非 Windows 机器上,我可以使用 SQL Server 的 IP 地址。然而,在远程 Windows 机器上,IP 地址和命名实例都不起作用。仅供参考,我能使用实际运行 SQL Server 的机器上的命名实例创建一个 ODBC 数据源(但这当然没什么特别的——只是证明它没有完全被控制)。
一个有趣的注意事项:如果我从 Windows 客户端计算机使用 SQL STUDIO 2005,我可以使用 IP 地址进行远程连接。不过,我提出这个问题的全部原因是因为我需要使用我编写的软件包从 Windows 计算机远程连接到 SQL Server。以前,解决方案只需要将数据从 SQL Server 传输到非 Windows 计算机上的 PostGRES 或 MySQL 数据库(由于 DBA 偏好)。但是,现在他们还想将数据从旧版软件移动到 MySQL,即使在 Windows 上也是如此。
任何帮助都将不胜感激。请随意提供完整的示例连接字符串。
最好的
答案1
听起来它正在尝试连接并寻找非常具体的 SQL 服务器实例名称。
查看带有 ODBC 数据源的日志,其中提到它是一个 InvalidInstance,最有可能引用该名称,它是否仍设置为默认名称?
如果是默认名称,则 ODBC 连接的名称可能如下 \computer_name\MSSQLSERVER