我用以下代码想实现插入数据。
import java.sql.*;
public class bbs {
public static void main(String[] args){
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://192.168.10.74:1433; DatabaseName=bbs1";
String userName = "sa";
String userPwd = "123";
Connection dbConn;
try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!");
Statement pStmt=dbConn.createStatement();
String sql = "insert into tabb (a,b) values ('aaa','bbb')";
pStmt.executeUpdate(sql);
}
catch (Exception e) {
e.printStackTrace();
}
}
最后结果如下:
Connection Successful!
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对
象名 'tabb' 无效。
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 Sour
ce)
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 S
ource)
at com.microsoft.jdbc.base.BaseStatement.executeUpdate(Unknown Source)
at bbs.main(bbs.java:28)能输出Connection Successful!说明数据库连接正确,数据库中确实有tabb表,insert into tabb (a,b) values ('aaa','bbb')能在查询分析器正确执行,曾试过把192.168.10.74换成127.0.0.1,换成localhost.结果都一样。谁有解决方案,多谢了,请指教!!!!
import java.sql.*;
public class bbs {
public static void main(String[] args){
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://192.168.10.74:1433; DatabaseName=bbs1";
String userName = "sa";
String userPwd = "123";
Connection dbConn;
try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!");
Statement pStmt=dbConn.createStatement();
String sql = "insert into tabb (a,b) values ('aaa','bbb')";
pStmt.executeUpdate(sql);
}
catch (Exception e) {
e.printStackTrace();
}
}
最后结果如下:
Connection Successful!
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对
象名 'tabb' 无效。
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 Sour
ce)
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 S
ource)
at com.microsoft.jdbc.base.BaseStatement.executeUpdate(Unknown Source)
at bbs.main(bbs.java:28)能输出Connection Successful!说明数据库连接正确,数据库中确实有tabb表,insert into tabb (a,b) values ('aaa','bbb')能在查询分析器正确执行,曾试过把192.168.10.74换成127.0.0.1,换成localhost.结果都一样。谁有解决方案,多谢了,请指教!!!!
连接到SQLServer服务器,必须指定机器名和SQLServer实例名,格式为
机器名(或IP)\实例名。
例如:
127.0.0.1\hy
localhost\hy
192.1.1.181\hy如果该实例为SQLServer默认实例,则没有必要指定实例名,仅需指定机器名。
象名 'tabb' 无效。)说明表名tabb有问题.你去看看databasename是bbs1吗?还有tabb表在bbs1中吗?
如果还不行的话,你改用jdbc:odbc连接看看.
2.还有"pStmt.executeUpdate(sql);"这句话好象是有返回的吧.如果解决了,请说一声.
if(dbConn!=null){
...
}
但是我试了
127.0.0.1\hy
localhost\hy
192.1.1.181\hy
斜杠的方向和个数试了 很多,但是没有结果
如果已经装了,再看下一条.
Statement pStmt=dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
请注意"createstatement"后面括号里的语句.
因为牵扯到更改数据表的问题,所以必须加上括号里的语句.
tabb是bbs1库的表
sa是tabb的所有者
sa默认的数据库是bbs1
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establis
hing socket.
天呀,求你救救我吧!!!!!!!