连接性疑难解答
Microsoft JDBC Driver for SQL Server 要求安装并运行 TCP/IP 以与 SQL Server 数据库进行通信。 可以使用 SQL Server 配置管理器验证已安装了哪些网络库协议。
数据库连接失败的原因有多种。 包括下列原因:
无法为 SQL Server 启用 TCP/IP,或者指定的服务器或端口号不正确。 验证 SQL Server 是否正通过指定服务器和端口上的 TCP/IP 进行侦听。 系统可能会报告如下异常:“登录失败。 与主机的 TCP/IP 连接失败。”这表示以下情况之一:
已安装了 SQL Server,但并没有通过以下方法针对 SQL Server 将 TCP/IP 作为网络协议进行安装:使用 SQL Server 2000 (8.x) 的 SQL Server 网络实用工具,或者使用 SQL Server 2005 (9.x) 及更高版本的 SQL Server 配置管理器。
已作为 SQL Server 协议安装了 TCP/IP,但是它并没有在 JDBC 连接 URL 中指定的端口上进行侦听。 默认端口为 1433,但是可以在安装产品时将 SQL Server 配置为在任意端口上进行侦听。 确保 SQL Server 正在端口 1433 上进行侦听。 或者,如果端口已更改,则应确保 JDBC 连接 URL 中指定的端口与更改的端口相匹配。 有关 JDBC 连接 URL 的详细信息,请参阅生成连接 URL。
JDBC 连接 URL 中指定的计算机地址没有引用在其中安装并启动了 SQL Server 的服务器。
无法执行客户端和运行 SQL Server 的服务器之间的 TCP/IP 的网络操作。 可以使用 telnet 检查 TCP/IP 与 SQL Server 的连接性。 例如,在命令提示符中,键入
telnet 192.168.0.0 1433
,此处 192.168.0.0 是正在运行 SQL Server 的计算机地址,1433 是正在上面进行侦听的端口。 如果收到“Telnet 无法连接”的消息,TCP/IP 则没有在 SQL Server 连接的端口上进行侦听。 使用 SQL Server 2000 (8.x) 的 SQL Server 网络实用工具或 SQL Server 2005 (9.x) 及更高版本的 SQL Server 配置管理器以确保将 SQL Server 配置为在端口 1433 上使用 TCP/IP。未在防火墙中打开服务器使用的端口。 这包括服务器使用的端口或与该服务器的指定实例相关联的端口(可选)。
指定的数据库名称不正确。 确保所登录的 SQL Server 数据库是现有的数据库。
用户名或密码不正确。 确保提供正确的值。
使用 SQL Server 身份验证时,JDBC 驱动程序要求安装带有 SQL Server 身份验证的 SQL Server(默认为不启用)。 在安装或配置 SQL Server 的实例时,应确保将此选项包含在内。