代码的内容是:
- 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