一个错误不知道怎么解决

tonyliuchenjun 2005-12-14 08:54:44
我是用socket将数据插入到数据库中,运行结果:
server started
server:data from client:1=0
server:data from client:3=0
server:data from client:2=0
Connection Successful!
Connection Successful!
Connection Successful!
Connection Successful!
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'gsgs' 无效。
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeUpdateInternal(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeUpdate(Unknown Source)
at server1.run(server1.java:64)
关闭.....
不指导试问什么?请告诉我谢谢
server1.java
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;



public class server1 extends Thread {

Socket socket1;
private java.sql.Connection con = null;
private final String url = "jdbc:microsoft:sqlserver://";
//private final String serverName= "10.0.1.75";
//private final String portNumber = "1433";
//private final String databaseName= "ceshi";
private final String userName = "sa";
private final String password = "tony";
// Informs the driver to use server a side-cursor,
// which permits more than one active statement
// on a connection.
//private final String selectMethod = "cursor";

private java.sql.Connection getConnection(){
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://10.0.1.75:1433;DatabaseName = ceshi",userName,password);
if(con!=null) System.out.println("Connection Successful!");
}catch(Exception e){
e.printStackTrace();
System.out.println("Error Trace in getConnection() : " + e.getMessage());
}
return con;
}

public server1(Socket s){
socket1=s;
start();
}
public void run(){
try{
BufferedReader in=new BufferedReader(new InputStreamReader(socket1.getInputStream()));


PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket1.getOutputStream())),true);


String str=in.readLine();
System.out.println("server:"+str);
out.println("back:"+str);

con= this.getConnection();
Connection con=getConnection();
try {
Statement stmtuser=con.createStatement();


int di=stmtuser.executeUpdate("INSERT INTO gsgs (text) values('"+ str +"')");
stmtuser.close();

} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}



System.out.println("关闭.....");
}
catch(IOException e){

System.err.println("IO Exception");
}
finally{



try {
socket1.close();
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();

}

}
}
static final int PORT=8080;
public static void main(String[] args) throws IOException{
ServerSocket s=new ServerSocket(PORT);
System.out.println("server started");

try{
while(true){
Socket socket1=s.accept();
try{
new server1(socket1);
}
catch(Exception e){
socket1.close();

}
}
}
finally{
s.close();
}

}

}

clinet1.java
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
public class client1 extends Thread{

int threadNumber;
Socket socket1;
public client1(int i,Socket s){
System.out.println("making:"+i);
threadNumber=i;
socket1=s;
start();

}
public void run(){
try{
PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket1.getOutputStream())),true);
int i=0;
out.println("data from client:"+threadNumber+"="+i);


BufferedReader in=new BufferedReader(new InputStreamReader(socket1.getInputStream()));

System.out.println(in.readLine()+"liu");

}
catch(IOException e){
try {
socket1.close();
} catch (IOException e1) {
// TODO 自动生成 catch 块
e1.printStackTrace();
}
}
}
public static void main(String[] args) throws IOException{
new client1(1,new Socket("10.0.1.75",8080));
new client1(2,new Socket("10.0.1.75",8080));
new client1(3,new Socket("10.0.1.75",8080));

}

}
...全文
94 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
RainRainbow 2005-12-14
  • 打赏
  • 举报
回复
用com.microsoft.jdbc.sqlserver.SQLServerDriver有时候会出现不认表名的情况,换个驱动试试

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧