我用下面代码始终连接不到数据库,老是出现这个错误 String user="sa";
String pass="123";
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=master";
Connection dbConn=null;
Statement stmt = null;
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
System.out.println("ok");
dbConn = DriverManager.getConnection(dbURL,user,pass);
System.out.println("Connection Successful!");
} catch (Exception e){
e.printStackTrace();
}com.microsoft.sqlserver.jdbc.SQLServerException: Connection reset
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(Unknown Source)
at com.microsoft.sqlserver.jdbc.TDSChannel.read(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.Prelogin(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)要不就是com.microsoft.sqlserver.jdbc.SQLServerException: Software caused connection abort: recv failed
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(Unknown Source)
at com.microsoft.sqlserver.jdbc.TDSChannel.read(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.Prelogin(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)这是什么原因啊?该怎么办啊
String pass="123";
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=master";
Connection dbConn=null;
Statement stmt = null;
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
System.out.println("ok");
dbConn = DriverManager.getConnection(dbURL,user,pass);
System.out.println("Connection Successful!");
} catch (Exception e){
e.printStackTrace();
}com.microsoft.sqlserver.jdbc.SQLServerException: Connection reset
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(Unknown Source)
at com.microsoft.sqlserver.jdbc.TDSChannel.read(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.Prelogin(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)要不就是com.microsoft.sqlserver.jdbc.SQLServerException: Software caused connection abort: recv failed
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(Unknown Source)
at com.microsoft.sqlserver.jdbc.TDSChannel.read(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.Prelogin(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)这是什么原因啊?该怎么办啊
String pass="123";
//String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; 可以不用
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=master";
Connection dbConn=null;
Statement stmt = null;
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
System.out.println("ok");
dbConn = DriverManager.getConnection(dbURL,user,pass);
System.out.println("Connection Successful!");
} catch (Exception e){
e.printStackTrace();
}
红色部分是我帮你修改的部分,你试试看,行不行
楼上的不行啊,sql 2005好像不需要在url里加microsoft的。
驱动是不是一个jar文件啊,我也加载了。
我又搜了下,用telnet localhost 1433 不通,怎么回事
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(Unknown Source)
at com.microsoft.sqlserver.jdbc.TDSChannel.read(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.Prelogin(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source) 什么原因?是不是要打什么补丁啊?
2000的是com.microsoft.jdbc.sqlserver.SQLServerDriver
1433端口有没有打开...
看看你设置的sqlserver的默认端口是哪个
如果你没能打补丁的话,你就打上SP3或SP4补丁试试
你可以到这个网址看看,希望能帮到你
如果有但其 State不是LISTENING那就是SQLSERVER虽然打开了此端口,但没监听如果你启动了SQLSERVER,它有监听某个端口的话,用netstat -a命令看到的列表中应该能看到他,你看看你是不是搞错端口了
看recv failed
应该是打开了,并且连接上了,做了一次握手,但返回信息失败?
2000驱动,打了sp4补丁,启动sql server configuration manager 协议下找 :启动tcp/ip
提示要你停止并重起服务,记住要服务是重新启动,不要停止再起,这样启动不了,反正我是这样的问题\
害我搞半天,这样应该可以连接上了
2005驱动,我出错是没有恰当驱动
解决: url中去掉micosoft,即jdbc:sqlserver://localhost:1433;
其实2000驱动也可以这样写
好了,现在只有oracle的错了,不知道要困惑我多久,
这些希望对你有帮助
看看SQL SERVER2005 网络配置 -MSSQLSERVER 的协议 中的TCP/IP协议启用了么