错误:与主机的TCP/IP连接失败。java.net.ConnectException: 连接被拒绝:连接

3

我正在使用:

  • Windows 7
  • Netbeans IDE 7.1.2
  • SQL Server Management Studio Express 2005
  • JDK1.6

连接数据库时,我遇到了以下错误信息:

com.microsoft.sqlserver.jdbc.SQLServerException: TCP/IP 连接主机失败。java.net.ConnectException: 拒绝连接。

我的连接字符串是:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");  
Connection connection = DriverManager.getConnection(  
    "jdbc:sqlserver://127.0.0.1:1433;databaseName=dbcm;" +  
    "user=sa;password=sa");

我已经检查了以下内容:

  1. 在SQL Server Configuration Manager中,SQLEXPRESS协议:TCP/IP已启用。实际上,我也使其余3个协议都启用了。
  2. SQL Server(SQLExpress)和SQL Browser服务均正在运行。

1
你检查了Windows防火墙的设置吗? - Pierre Henry
1
尝试省略端口号。确保SQLServerBrowser服务正在运行。尝试使用“localhost”代替IP地址。检查您的防火墙设置。 - MicSim
1
如果您正在使用实例名称,则必须添加类似于“;instanceName=SQLEXPRESS”的实例名称。 - MicSim
@MicSim:SQLBrowser服务正在运行。我输入了本地主机名而不是IP地址,并添加了实例名称,但仍然遇到相同的错误。 - bsm
SQL Server 是否正在运行?在 cmd 窗口中检查 netstat。是否有一行 TCP 127.0.0.1:1433 ... - ott--
显示剩余2条评论
1个回答

19

我按照以下步骤成功地使用JDBC连接到SQLExpress实例:

  1. 配置与SQL Express的TCP/IP通信
    1. 打开SQL Server Configuration Manager。
    2. 转到SQL Server Network Configuration->SQLEXPRESS的协议
    3. 将TCP/IP协议的状态设置为“启用”(如果尚未启用)。
    4. 打开TCP/IP的属性窗口,转到IP地址部分。
    5. 转到该属性页面的底部,在IPAll下设置TCP端口为1433。
  2. 使用Microsoft的SQL Server JDBC驱动程序连接到SQLExpress实例
    1. JDBC URL:jdbc:sqlserver://localhost;instance=SQLEXPRESS;databaseName=<your DB>;user=<your User>;password=<your Passwd>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接