连接性疑难解答

下载 JDBC 驱动程序

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 的实例时,应确保将此选项包含在内。

另请参阅

诊断 JDBC 驱动程序问题
通过 JDBC 驱动程序连接到 SQL Server