当前位置: 代码迷 >> J2EE >> jdbc连接sqlserver 2008没有反应,驱动jar包有,该有的一切都有。就是没反应.解决办法
  详细解决方案

jdbc连接sqlserver 2008没有反应,驱动jar包有,该有的一切都有。就是没反应.解决办法

热度:175   发布时间:2016-04-22 02:25:03.0
jdbc连接sqlserver 2008没有反应,驱动jar包有,该有的一切都有。就是没反应.
Java code
    try {    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");    System.out.println("加载:com.microsoft.sqlserver.jdbc.SQLServerDriver");} catch (ClassNotFoundException e) {    e.printStackTrace();}Connection conn = null;Statement st = null;ResultSet rs = null;try {    System.out.println("获取连接...");    conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1533;databaseName=test", "sa", "admini");    System.out.println("连接获取完毕");    st = conn.createStatement();    System.out.println("st");    rs = st.executeQuery("select id from test");    System.out.println(rs);    while(rs.next()){        System.out.println(rs.getString("id"));    }} catch (SQLException e) {    e.printStackTrace();}finally{    try {        rs.close();        st.close();        conn.close();    } catch (SQLException e) {        e.printStackTrace();    }}

如果我改一个错误的密码,它就会提示密码错误。但是密码改成正确的,它就会显示:

加载:com.microsoft.sqlserver.jdbc.SQLServerDriver
获取连接...

到了这一步,就不往下走了。
用了这么多年的jdbc + sqlserver,还是头一次碰到这种问题。请各位大牛帮忙看看吧。

------解决方案--------------------
难道是你的那个监听程序没有开????或者是 肯定有东西没有开 或者是 包得版本不一致 或者是数据库不存在 哦不数据库不存在早就报错了 难道是你连接的驱动类写错了???
------解决方案--------------------
个人认为:你这个最好做一下threaddump.看程序在驱动的那个类型等待,然后再分析。
ps:threaddump方法window用ctrl+break linux用kill -3 id
------解决方案--------------------
首先,sqlserver从工程中连接数据库,要求SQLServer中的服务要启动,然后配置中的Tcp/Ip要启动。
然后,再看看看连接字符串是否正确
------解决方案--------------------
对了,如果你没有刻意的去改的话,我记得我以前用2005的时候,端口是1433,难道08的默认改了?
------解决方案--------------------
还有这里:conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1533;databaseName=test", "sa", "admini");
要不要改成:
jdbc:microsoft:sqlserver://localhost:1433;
  相关解决方案