gpt4 book ai didi

java - 获取异常 ORA-00942 : table or view does not exist - when inserting into an existing table

转载 作者:搜寻专家 更新时间:2023-10-30 19:49:40 24 4
gpt4 key购买 nike

在尝试向现有表中插入一批行时出现异常

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)

任何人都可以提出此错误的原因吗?

更新:问题已解决

我的数据库连接属性或我的表或 View 名称没有问题。解决问题的方法很奇怪。我尝试插入的列之一是 Clob 类型。由于我之前在 oracle db 中处理 clob 数据时遇到了很多麻烦,所以尝试用临时字符串 setter 替换 clob setter ,并执行相同的代码,没有任何问题,所有行都被正确插入!!!。

ie. peparedstatement.setClob(columnIndex, clob)

被替换为

peparedstatement.setString(columnIndex, "String")

为什么在插入 clob 数据时出错会抛出错误表或 View 错误。你们谁能解释一下吗?

非常感谢您的回答和评论。

最佳答案

如果表存在,但您没有任何权限,Oracle 也会报告此错误。因此,如果您确定 table 在那里,请检查拨款。

关于java - 获取异常 ORA-00942 : table or view does not exist - when inserting into an existing table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6561650/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com