java jdbc 连接sqlserver 2005 出错 10

importjava.sql.*;publicclassTest{publicstaticvoidmain(String[]srg){StringdriverName="... import java.sql.*;
public class Test {
public static void main(String[] srg) {
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=db_ProductMng";
String userName = "sa";
String userPwd = "123456";
Connection dbConn;

try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!");
PreparedStatement ps=dbConn.prepareStatement("select * from t_Productinfo ");
ResultSet rs = ps.executeQuery();

while(rs.next()){
float f=rs.getFloat(2);
String str=rs.getString(4);
System.out.println(f+" "+str);
}

} catch (Exception e) {
e.printStackTrace();
}

}
}
我第一次运行时可以正常连接,但是第2次往后就提示错误警告:
警告: ConnectionID:1 Prelogin error: host localhost port 1433 Unexpected response type:68
com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“驱动程序收到意外的登录前响应。请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接。该驱动程序只能与 SQL Server 2000 或更高版本一起使用。”。
但是每当我重启sqlserver时,就可以正常运行
finally {
try {
rs.close();
ps.close();
dbConn.close();
} catch (Exception e) {
}
}
但是我关闭之后还是出现同样的问题
展开
 我来答
帐号已注销
2011-03-12 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:85
采纳率:0%
帮助的人:111万
展开全部
你好楼主,如果楼上的几位不能解决你的问题,请这样试试:
1、打开sqlserver配置管理器。
2、SQL server网络配置----MYSQLSERVER的协议----协议名称 TCP/IP--右键--启用。
里面还有一些ip和端口的设置,你测试下看行不行。
希望可以解决你的问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
TableDI
2024-07-18 广告
VLOOKUP 是 Excel 中一个非常实用的函数,它允许用户在一个区域或表格的首列中查找特定值,并返回同一行中指定列中的值。当进行跨表匹配时,你可以使用 VLOOKUP 函数将两个不同表格中的数据关联起来。通过指定查找值、表格数组、列号... 点击进入详情页
本回答由TableDI提供
cjxgotofly
2011-03-02 · TA获得超过271个赞
知道小有建树答主
回答量:266
采纳率:0%
帮助的人:293万
展开全部
// 关闭资源
public void close() {
try {//按反序,依次关闭rs,ps,和dbConn
if (rs != null) {
rs.close();
rs = null;
}
if (ps != null) {
ps.close();
ps = null;
}
if (dbConn != null) {
dbConn.close();
dbConn = null;
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
markzm
2011-03-02 · 超过14用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:17.3万
展开全部
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
rs.close();
ps.close();
dbConn.close();
} catch (Exception e) {
}
}

把数据库连接关掉看看。。
追问
这样不行啊,我每次还是要要重启数据库
追答
把连接关了也不行,一般都这样用的阿,那我也不知道了,我也是初学。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
z493612807
2011-03-04
知道答主
回答量:15
采纳率:0%
帮助的人:4.8万
展开全部
这可能是 微软给的驱动问题 建议不使用SQLserver
mysql orecal等都可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
钱途财子
2011-03-15
知道答主
回答量:22
采纳率:0%
帮助的人:10.9万
展开全部
关闭的时候有点问题你应该判断下是否为空
try{
if(rs!=null)
{
rs.close();
}
if(ps!=null){
ps.close();
}
if(DBconn!=null){
DBconn.close();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式