Tag: ora 00942

Java不运行带参数的prepare语句

我正在使用PreparedStatement查询我的表。 不幸的是,我无法这样做。 我的代码就像这样简单: PreparedStatement preparedStatement = connection.prepareStatement( “Select favoritefood from favoritefoods where catname = ?”); preparedStatement.setString(1, “Cappuccino”); ResultSet resultSet = preparedStatement.executeQuery(); 抛出的错误是java.sql.SQLException: ORA-00911: invalid character 。 好像它永远不会通过给定的参数运行。 谢谢你的时间。 我花了一天时间来调试这个但仍然不成功。 如Piyush所述,如果我在语句结尾处省略分号,则会抛出新错误。 java.sql.SQLException: ORA-00942: table or view does not exist 。 但我可以向你保证,这张桌子确实存在。 UPDATE 射击。 我编辑了错误的sql。 现在它成功了。 你的时间。

获取exceptionORA-00942:表或视图不存在 – 插入现有表时

在尝试将一批行插入现有表时,我遇到exception ORA-00942:表或视图不存在 我可以确认该表存在于db中,我可以使用oracle sql developer将数据插入该表。 但是当我尝试在java中使用preparedstatement插入行时,其抛出表不存在错误。 请在下面找到错误的堆栈跟踪 java.sql.SQLException: ORA-00942: table or view does not exist at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289) at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573) at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1889) at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1093) at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2047) at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1940) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout>>(OracleStatement.java:2709) at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589) at quotecopy.DbConnection.insertIntoDestinationDb(DbConnection.java:591) at quotecopy.QuoteCopier.main(QuoteCopier.java:72) 任何人都可以提出这个错误的原因吗? 更新:问题已解决 我的数据库连接属性或我的表或视图名称没有问题。 问题的解决方案非常奇怪。 我尝试插入的其中一列是Clob类型。 因为我之前在oracle db中处理clob数据时遇到了很多麻烦,尝试用一个临时字符串setter替换clob setter并执行相同的代码,没有任何问题,所有行都被正确插入!!! 即。 peparedstatement.setClob(columnIndex,clob) 被替换为 peparedstatement.setString(columnIndex,“String”) 为什么错误表或视图确实存在错误导致插入clob数据时出错。 你能解释一下吗? 非常感谢您的回答和评论。