关于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: connectsql设置:
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