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)
这是什么原因啊?该怎么办啊
21 个解决方案
#1
看看驱动程序加载了没
#2
String user="sa";
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();
}
红色部分是我帮你修改的部分,你试试看,行不行
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();
}
红色部分是我帮你修改的部分,你试试看,行不行
#3
楼上的不行啊,sql 2005好像不需要在url里加microsoft的。
驱动是不是一个jar文件啊,我也加载了。
我又搜了下,用telnet localhost 1433 不通,怎么回事
#4
没打开连接吧,没调用Open方法
#5
刚才服务器没启动,所以连不上,但我启动了还是会出现
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)
什么原因?是不是要打什么补丁啊?
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)
什么原因?是不是要打什么补丁啊?
#6
那2005的驱动也是com.microsoft.sqlserver.jdbc.SQLServerDriver吗?
2000的是com.microsoft.jdbc.sqlserver.SQLServerDriver
2000的是com.microsoft.jdbc.sqlserver.SQLServerDriver
#7
6楼的,2000和2005...应该说jdbc2000和jdbc2005/jdbc1.0/1.1/1.2是不一样的
楼主,你在cmd里输入netstat看看当前系统有哪些端口打开了
1433端口有没有打开...
看看你设置的sqlserver的默认端口是哪个
楼主,你在cmd里输入netstat看看当前系统有哪些端口打开了
1433端口有没有打开...
看看你设置的sqlserver的默认端口是哪个
#8
看来我落伍了
#9
我默认的端口是1433, 我直接输入netstat结果里没有1433啊
#10
看来我落伍了.
如果你没能打补丁的话,你就打上SP3或SP4补丁试试
如果你没能打补丁的话,你就打上SP3或SP4补丁试试
#11
http://maguangzhi.bokee.com/5825302.html
你可以到这个网址看看,希望能帮到你
你可以到这个网址看看,希望能帮到你
#12
输入netstat没有1433的记录,那么可能就是此端口没有打开了...所以LZ你连接不上
最好先用netstat -a再确定下,如果还没有就基本确定是这个问题了
如果有但其 State不是LISTENING那就是SQLSERVER虽然打开了此端口,但没监听
如果你启动了SQLSERVER,它有监听某个端口的话,用netstat -a命令看到的列表中应该能看到他,你看看你是不是搞错端口了
最好先用netstat -a再确定下,如果还没有就基本确定是这个问题了
如果有但其 State不是LISTENING那就是SQLSERVER虽然打开了此端口,但没监听
如果你启动了SQLSERVER,它有监听某个端口的话,用netstat -a命令看到的列表中应该能看到他,你看看你是不是搞错端口了
#13
恩...bsbbt兄,2005目前最高只有SP1
LZ,还是跟你确认下...你SQL SERVER真的打开了? -_-!
看recv failed
应该是打开了,并且连接上了,做了一次握手,但返回信息失败?
LZ,还是跟你确认下...你SQL SERVER真的打开了? -_-!
看recv failed
应该是打开了,并且连接上了,做了一次握手,但返回信息失败?
#14
netstat -a 没有1433端口,但是有其他的一些ms-sql-s 等,我在配置工具里的TCP端口就是1433啊,是不是动态端口也要设啊?
#15
我数据库确实打开了,而且我用sql server management studio express也能连接上啊。但是我要是选择连接属性里面的网络协议为TCP/IP就连接不上了。
#16
兄弟,这个问题困惑了我一周,今天被我刚刚解决,又正好看到你贴,
2000驱动,打了sp4补丁,启动sql server configuration manager 协议下找 :启动tcp/ip
提示要你停止并重起服务,记住要服务是重新启动,不要停止再起,这样启动不了,反正我是这样的问题\
害我搞半天,这样应该可以连接上了
2005驱动,我出错是没有恰当驱动
解决: url中去掉micosoft,即jdbc:sqlserver://localhost:1433;
其实2000驱动也可以这样写
好了,现在只有oracle的错了,不知道要困惑我多久,
这些希望对你有帮助
2000驱动,打了sp4补丁,启动sql server configuration manager 协议下找 :启动tcp/ip
提示要你停止并重起服务,记住要服务是重新启动,不要停止再起,这样启动不了,反正我是这样的问题\
害我搞半天,这样应该可以连接上了
2005驱动,我出错是没有恰当驱动
解决: url中去掉micosoft,即jdbc:sqlserver://localhost:1433;
其实2000驱动也可以这样写
好了,现在只有oracle的错了,不知道要困惑我多久,
这些希望对你有帮助
#17
进SQL Server Configuration Manager
看看SQL SERVER2005 网络配置 -MSSQLSERVER 的协议 中的TCP/IP协议启用了么
看看SQL SERVER2005 网络配置 -MSSQLSERVER 的协议 中的TCP/IP协议启用了么
#18
阿勋
签名
签名
#19
重启一下电脑
#20
那应该怎么解决啊?
#21
#1
看看驱动程序加载了没
#2
String user="sa";
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();
}
红色部分是我帮你修改的部分,你试试看,行不行
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();
}
红色部分是我帮你修改的部分,你试试看,行不行
#3
楼上的不行啊,sql 2005好像不需要在url里加microsoft的。
驱动是不是一个jar文件啊,我也加载了。
我又搜了下,用telnet localhost 1433 不通,怎么回事
#4
没打开连接吧,没调用Open方法
#5
刚才服务器没启动,所以连不上,但我启动了还是会出现
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)
什么原因?是不是要打什么补丁啊?
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)
什么原因?是不是要打什么补丁啊?
#6
那2005的驱动也是com.microsoft.sqlserver.jdbc.SQLServerDriver吗?
2000的是com.microsoft.jdbc.sqlserver.SQLServerDriver
2000的是com.microsoft.jdbc.sqlserver.SQLServerDriver
#7
6楼的,2000和2005...应该说jdbc2000和jdbc2005/jdbc1.0/1.1/1.2是不一样的
楼主,你在cmd里输入netstat看看当前系统有哪些端口打开了
1433端口有没有打开...
看看你设置的sqlserver的默认端口是哪个
楼主,你在cmd里输入netstat看看当前系统有哪些端口打开了
1433端口有没有打开...
看看你设置的sqlserver的默认端口是哪个
#8
看来我落伍了
#9
我默认的端口是1433, 我直接输入netstat结果里没有1433啊
#10
看来我落伍了.
如果你没能打补丁的话,你就打上SP3或SP4补丁试试
如果你没能打补丁的话,你就打上SP3或SP4补丁试试
#11
http://maguangzhi.bokee.com/5825302.html
你可以到这个网址看看,希望能帮到你
你可以到这个网址看看,希望能帮到你
#12
输入netstat没有1433的记录,那么可能就是此端口没有打开了...所以LZ你连接不上
最好先用netstat -a再确定下,如果还没有就基本确定是这个问题了
如果有但其 State不是LISTENING那就是SQLSERVER虽然打开了此端口,但没监听
如果你启动了SQLSERVER,它有监听某个端口的话,用netstat -a命令看到的列表中应该能看到他,你看看你是不是搞错端口了
最好先用netstat -a再确定下,如果还没有就基本确定是这个问题了
如果有但其 State不是LISTENING那就是SQLSERVER虽然打开了此端口,但没监听
如果你启动了SQLSERVER,它有监听某个端口的话,用netstat -a命令看到的列表中应该能看到他,你看看你是不是搞错端口了
#13
恩...bsbbt兄,2005目前最高只有SP1
LZ,还是跟你确认下...你SQL SERVER真的打开了? -_-!
看recv failed
应该是打开了,并且连接上了,做了一次握手,但返回信息失败?
LZ,还是跟你确认下...你SQL SERVER真的打开了? -_-!
看recv failed
应该是打开了,并且连接上了,做了一次握手,但返回信息失败?
#14
netstat -a 没有1433端口,但是有其他的一些ms-sql-s 等,我在配置工具里的TCP端口就是1433啊,是不是动态端口也要设啊?
#15
我数据库确实打开了,而且我用sql server management studio express也能连接上啊。但是我要是选择连接属性里面的网络协议为TCP/IP就连接不上了。
#16
兄弟,这个问题困惑了我一周,今天被我刚刚解决,又正好看到你贴,
2000驱动,打了sp4补丁,启动sql server configuration manager 协议下找 :启动tcp/ip
提示要你停止并重起服务,记住要服务是重新启动,不要停止再起,这样启动不了,反正我是这样的问题\
害我搞半天,这样应该可以连接上了
2005驱动,我出错是没有恰当驱动
解决: url中去掉micosoft,即jdbc:sqlserver://localhost:1433;
其实2000驱动也可以这样写
好了,现在只有oracle的错了,不知道要困惑我多久,
这些希望对你有帮助
2000驱动,打了sp4补丁,启动sql server configuration manager 协议下找 :启动tcp/ip
提示要你停止并重起服务,记住要服务是重新启动,不要停止再起,这样启动不了,反正我是这样的问题\
害我搞半天,这样应该可以连接上了
2005驱动,我出错是没有恰当驱动
解决: url中去掉micosoft,即jdbc:sqlserver://localhost:1433;
其实2000驱动也可以这样写
好了,现在只有oracle的错了,不知道要困惑我多久,
这些希望对你有帮助
#17
进SQL Server Configuration Manager
看看SQL SERVER2005 网络配置 -MSSQLSERVER 的协议 中的TCP/IP协议启用了么
看看SQL SERVER2005 网络配置 -MSSQLSERVER 的协议 中的TCP/IP协议启用了么
#18
阿勋
签名
签名
#19
重启一下电脑
#20
那应该怎么解决啊?