java – 获取异常ORA-00942:表或视图不存在 – 插入现有表时

前端之家收集整理的这篇文章主要介绍了java – 获取异常ORA-00942:表或视图不存在 – 插入现有表时前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当尝试将一批行插入现有表时,我正在获得下面的异常

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也会报告此错误,但是您没有任何权限.所以如果你确定桌子在那里,请查看赠款.

猜你在找的Java相关文章