com.ibm.db2.jcc.am.SqlSyntaxErrorException

时间:2013-12-10 21:21:35

标签: db2

我在本地计算机上安装了DB2,并创建了一个表名为Users的表。

从我的portlet中我正在执行一个简单的select语句:

    Class.forName("com.ibm.db2.jcc.DB2Driver");
    String dburl = "jdbc:db2://localhost:50001/Portlets";
    conn = DriverManager.getConnection(dburl,"db2admin","password");
    String selectTableSQL = "SELECT Name from Users";
    statement = conn.createStatement();
ResultSet rs = statement.executeQuery(selectTableSQL);

当我执行此操作时,我得到以下异常:

com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=DB2ADMIN.USERS, DRIVER=3.62.56.

我不明白为什么我会得到这个例外。堆栈跟踪中没有任何内容。

1 个答案:

答案 0 :(得分:3)

邮件中的SQLCODE会告诉您实际的错误消息。 -204是您正在寻找的错误。如果您交叉引用Information Center article about -204,则会看到以下消息:

  

name 是一个未定义的名称。

如果您回顾一下例外,就会看到 name = DB2ADMIN.USERSSQLERRMC字段)。

我的猜测是你找不到任何东西,因为你忘了在你的表中附加一个Schema(错误消息中假定了DB2ADMIN部分,因为这是你的登录名。)