这个问题 我感觉不明确, Connection reset nRead:0 nReceived:0 PktDataSize:0 PktNum:6 at com.jnetdirect.jsql.f.a(Unknown Source) at com.jnetdirect.jsql.f.a(Unknown Source) at com.jnetdirect.jsql.ae.do(Unknown Source) at com.jnetdirect.jsql.v.a(Unknown Source) at com.jnetdirect.jsql.v.executeQuery(Unknown Source) at prolink.game.cyb.LHC.DBDataManager.getRecordscom.jnetdirect.jsql 的配置可能 有问题 不知道这个东西内部是怎样的,问题很难回答。
com.microsoft.jdbc.sqlserver.SQLServerDriver数据库驱动器连接
testsqlserver.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubs为你的数据库的
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
<%@ page import="java.sql.*"%>
<% Connection conn=null;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection("jdbc:odbc:pubs","sa","sa");
out.println("这里进行数据库操作");
conn.close();
}
catch(ClassNotFoundException e){
out.println(e.getMessage());
}
catch(SQLException e){
out.println(e.getMessage());
}
finally{
try{
if(conn !=null)
conn.close();
}
catch(Exception e){}
}
%>
1.下载JDBC FOR SQLSERVER 的驱动:
http://www.microsoft.com/downloads/details.aspx?FamilyID=4f8f2f01-1ed7-4c4d-8f7b-3d47969e66ae&DisplayLang=en#filelist
点击setup.exe下载驱动
2.下载后开始安装,就用默认设置安装,会被安装到:
C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC
3.把C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib
下面的mssqlserver.jar,msbase.jar,msutil.jar三个文件拷贝到你的
JDK主目录\jre\lib\ext下面,现在JDBC驱动就算配置好了
4.编译运行测试程序:
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String connURL = "jdbc:microsoft:sqlserver://BLUESKY:1433;User=sa;Password=sa;DatabaseName=sitedb";
try{
Class.forName(driverName);
Connection conn = DriverManager.getConnection(connURL);
Statement stmt = conn.createStatement();
StringBuffer strsql = new StringBuffer();
strsql.append("select * from USERTABLE where username ='" + username + "'");
ResultSet rs = stmt.executeQuery(strsql.toString());
if(!rs.next() ||!password.equals(NulltoString(rs.getString("password")).trim())){
DBmsg = "对不起,您所输入的用户不存在或用户密码不正确";
}else{
username = NulltoString(rs.getString("username"));
selectright = NulltoString(rs.getString("selectright"));
deleteright = NulltoString(rs.getString("deleteright"));
updateright = NulltoString(rs.getString("updateright"));
} }catch (ClassNotFoundException ex){
ex.printStackTrace();
}catch (SQLException ex){
ex.printStackTrace();
}
Connection reset nRead:0 nReceived:0 PktDataSize:0 PktNum:6
at com.jnetdirect.jsql.f.a(Unknown Source)
at com.jnetdirect.jsql.f.a(Unknown Source)
at com.jnetdirect.jsql.ae.do(Unknown Source)
at com.jnetdirect.jsql.v.a(Unknown Source)
at com.jnetdirect.jsql.v.executeQuery(Unknown Source)
at prolink.game.cyb.LHC.DBDataManager.getRecordscom.jnetdirect.jsql 的配置可能 有问题 不知道这个东西内部是怎样的,问题很难回答。
Connection conn = DriverManager.getConnection(connURL);
用以下方法代替试试:public synchronized Connection getConnection(long timeout){
long startTime=new Date().getTime();
Connection con;
while((con=getConnection())==null){
try{
wait(timeout);
}
catch(InterruptedException e){
}
if((new Date().getTime()-startTime)>=timeout){
return null;
}
}
return con;
}
意思我想应该是发出6个试探请求,但是没有一个回应得,反正肯定是建立套接字连接出现了问题