我是用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)); }}
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)); }}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货