当尝试将一批行插入现有表时,我正在获得下面的异常
ORA-00942: table or view does not exist
我可以确认该表存在于db中,我可以使用oracle将数据插入该表
sql开发人员但是当我尝试在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,并且在执行任何问题的同一个代码,并且所有的行被正确插入!
ie. peparedstatement.setClob(columnIndex,clob)
被替换了
peparedstatement.setString(columnIndex,“String”)
为什么错误表或视图确实存在错误是插入clob数据错误.有人可以解释一下吗
非常感谢您的回答和意见.
解决方法
如果表存在,Oracle也会报告此错误,但是您没有任何权限.所以如果你确定桌子在那里,请查看赠款.