我们的应用程序基于 Java、JPA 和 Oracle 数据库。如果数据库操作失败,我会收到 SQLException
或其派生事件之一。
就我而言,我想区分 SQLIntegrityConstraintViolationException
是否是由唯一或外键约束问题引起的。
日志显示了违反唯一约束的错误代码 ORA-00001
,但是,我正在寻找其他代码的列表,以便对正确的代码使用react。
我知道这些代码是特定于供应商的,因此很容易找到 answer for MySQL 。对于 Oracle,我也需要同样的东西。
最佳答案
毫不奇怪,Oracle文档中有一个列表:
http://docs.oracle.com/cd/B28359_01/server.111/b28278/toc.htm
但是从顶部挖掘它也不是那么容易找到。由于 MySql-Answers 更容易找到,我希望这个问答能够提供同样快速的信息路径。
不幸的是,人们无法轻松地在列表中进行搜索,因为它分布在多个页面上,而没有太多指示哪个范围包含哪种错误。
但是,我设法找到了我的具体问题的代码:UQ 违规是 ORA-00001,其中外键错误出现在 ORA-02290(缺少父级)和 ORA-02291(尝试删除现有依赖子级)下)。
关于java - 区分 SQLExceptions - Oracle 错误代码列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34200228/