我已经在本地机器上安装了DB2,并创建了一个具有列名的表用户。
在我的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.我不明白为什么我要得到这个例外。堆栈跟踪中也没有什么内容。
发布于 2013-12-10 22:42:10
消息中的SQLCODE告诉您实际的错误消息。-204是您正在寻找的错误。如果交叉引用-204,您将看到以下消息:
名称是一个未定义的名称。
如果回顾异常,就会看到name = DB2ADMIN.USERS ( SQLERRMC字段)。
我的猜测是,您没有找到任何东西,因为您忘记在表中附加架构( DB2ADMIN部分在错误消息中被假定,因为这是您的登录名)。
https://stackoverflow.com/questions/20505510
复制相似问题