代码运行时一直是[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'dept_1' 无效
代码如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class TestDML { public static void main(String[] args) {
Statement stmt = null;
Connection conn = null;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//new oracle.jdbc.driver.OracleDriver();
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=hy", "sa", "sa");
stmt = conn.createStatement();
String sql = "insert into dept_1(ID1,Sal,Nam) values (99, 'GAME', 'BJ')";
System.out.println(sql);
stmt.executeUpdate(sql);

} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if(stmt != null) {
stmt.close();
stmt = null;
}
if(conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
我是一个菜鸟,这是哪里的问题?谢了

解决方案 »

  1.   

    看看你连接的数据库,请确定有dept_1这个表。
      

  2.   

    对象名 'dept_1' 无效 
    有这个表么?
      

  3.   

    dept_1 表在数据库中不存在.
      

  4.   

    把那个sql语句放在查询分析器中执行成功
      

  5.   

    查询分析器执行select* from dept_1看看会不会有错,还有就是要注意你连的是DatabaseName=hy要确定hy库中有dept_1表
      

  6.   

    执行select* from dept_1没有错啊,数据库名也对
      

  7.   

    还是不行,还是那样的错误,错误提示
    insert into aaa values (1112, 'liuH', 'F')
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'aaa' 无效。
    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 TestDML.main(TestDML.java:20)也就是stmt.executeUpdate(sql);这一句
      

  8.   

    我只打了SP3的补丁  SP4的也必须要打,只打SP3的不行?
      

  9.   

    没有,只打了SP3的补丁,这样不行?
    但执行executeQuery时可以执行
      

  10.   

    还是不行,还是那样的错误,错误提示 
    insert into aaa values (1112, 'liuH', 'F') 
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'aaa' 无效。 
    这个肯定是错的,插入的列和后面的字符数不对啊.
      

  11.   

    给大家介绍一个好视频网站,特别经典,这是我见过的最全最大最完美的资源下载网站了,绝对是你学习的一个好地方。 
        http://www.abab123.com/bbs/down.asp?html=823929
      

  12.   

    给大家介绍一个好视频网站,特别经典,这是我见过的最全最大最完美的资源下载网站了,绝对是你学习的一个好地方。
        http://www.abab123.com/bbs/down.asp?html=823929
      

  13.   

    在表名前面加上schema,估计你这个表不是用SA用户建的
      

  14.   

    不知道为什么我重启了一下MyEclipse,再执行一下就好了,可能是装了SP4要重启了,SP3换成也该重启,谢了!
      

  15.   

    我觉得你应该先检查一下你的数据库的格式(列的属性是不是匹配),然后再检查自己java中的sql语句的数据格式是否正确