当前位置: 代码迷 >> J2EE >> 关于JDBC连接到sqlserver2005数据库的,该如何处理
  详细解决方案

关于JDBC连接到sqlserver2005数据库的,该如何处理

热度:212   发布时间:2016-04-22 02:33:37.0
关于JDBC连接到sqlserver2005数据库的
代码的内容是:
Java code
package JDBC;import java.sql.*;public class firstConnection {    public static void main(String[] args) {        Connection conn=null;        try{        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");                        String uri="jdbc:sqlserver://localhost:1433;DatabaseName=stuDb";        String user = "sa",password = "sa";        conn = DriverManager.getConnection(uri,user,password);        System.out.println("Conection success!");        conn.close();        }catch(ClassNotFoundException e)        {            System.out.println("数据库加载失败!");        }catch(SQLException e)        {            System.out.println("连接创建失败!");            System.out.println(e);        }catch(Exception e)        {            System.out.println("未知错误!");        }            }}

错误:连接创建失败!
com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败java.net.ConnectException: Connection timed out: connect
sql设置:
SQL server2005网络设置--》MSSQLSERVER的协议--》TCP/IP已启用,IPALL中TCP动态端口以及TCP端口用 1433和2490的各种组合均已试过,无效,同一个错误。SQL NATIVE CLIENT中的配置--》客户端协议TCP/IP也已经启用。
求答案。

------解决方案--------------------
conn = DriverManager.getConnection(uri,user,password);这一步抛出异常。原因可能是url不对,你试试这个,jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=stuDb
------解决方案--------------------
数据库设置问题,用客户端直接能连接吗?
另外uri换成"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
试一下,祝你成功
------解决方案--------------------
你单步调试下,看那出错的,conn = DriverManager.getConnection(uri,user,password);没赋进值的可能性比较大
------解决方案--------------------
首先,你的驱动包是哪个?
2005的话应该是sqlserver jdbc3.0以上
sqljdbc4.jar

还有,你可以直接用Telnet看看连接是不是有问题
命令行 -> telnet localhost 1433
  相关解决方案