【发布时间】:2012-03-04 14:10:32
【问题描述】:
我为连接sql server express r2编写了以下行:
Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost/SQLEXPRESS;databaseName=abc","sa","password");
它给出了例外: com.microsoft.sqlserver.jdbc.SQLServerException:与主机 localhost/SQLEXPRESS、端口 1433 的 TCP/IP 连接失败。错误:“null。验证连接属性,检查 SQL Server 实例是否正在主机上运行并在端口接受 TCP/IP 连接,并且没有防火墙阻止与端口的 TCP 连接。”。
我按照这条线解决了异常:
用于 SQL Server Express 的 TCP/IP 默认情况下,SQL Server Express 的 TCP/IP 被禁用,因此 JDBC 无法连接到它,您可能会遇到以下异常……
网络错误IOException:连接被拒绝:连接 启用 TCP/IP
要启用 TCP/IP,请启动 SQL Server 配置管理器。
展开 SQL Server 2005 网络配置节点。 在右窗格中,选择 SQLEXPRESS 的协议。右窗格现在应该显示协议和状态列。 从 TCP/IP 上下文菜单中选择启用。 查找或配置 TCP/IP 端口
启用 TCP/IP 后,您必须找出要使用的端口号。 SQL Server Express 每次启动时都会动态分配一个端口,因此要查找或配置端口号,请继续使用 SQL Server 配置管理器...
从 TCP/IP 上下文菜单中选择属性。 TCP/IP 属性对话框应该打开。 选择 IP 地址选项卡。 在 IPAll 节点中…… TCP 动态端口字段显示当前使用的端口号。如果将该字段设置为空白,则 SQL Server Express 在重新启动时不应自动选择另一个端口。 在 TCP 端口字段中设置所需的端口号。 按 OK 应用您的设置并关闭对话框。
之后连接也给出了同样的异常。
【问题讨论】:
-
并且你将所需的端口设置为 1433?
-
是的..我在 TCP 端口字段中将所需端口设置为 1433
-
你已经重启了服务器?
-
是的,在那之后我重新启动了服务器
标签: java database jdbc sql-server-2008-r2