微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/java/124904.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐