java 如何获取sqlcode
获取 SQLCODE 的方法
在 Java 中获取 SQLCODE(SQL 错误代码)通常涉及捕获数据库操作抛出的异常,并从异常对象中提取错误代码。以下是几种常见数据库的获取方式:
JDBC 标准方式(SQLException)
JDBC 规范中,SQLException 提供了获取错误代码的方法:
try {
// 执行数据库操作(如 Statement.executeQuery())
} catch (SQLException e) {
int sqlCode = e.getErrorCode(); // 获取数据库厂商特定的错误代码
String sqlState = e.getSQLState(); // 获取标准 SQLSTATE 代码
}
针对不同数据库的扩展
不同数据库可能有额外的错误代码获取方式:
Oracle
catch (SQLException e) {
int oracleErrorCode = e.getErrorCode(); // 如 ORA-00600 错误会返回 600
}
DB2
DB2 的 SQLCODE 可直接通过 SQLException.getErrorCode() 获取,值为负数:
catch (SQLException e) {
int db2SqlCode = e.getErrorCode(); // 如 -204 表示对象未找到
}
SQL Server
catch (SQLException e) {
int sqlServerError = e.getErrorCode(); // 如 547 表示外键冲突
}
MySQL

catch (SQLException e) {
int mysqlErrNo = e.getErrorCode(); // 如 1062 表示唯一键冲突
}
注意事项
- SQLSTATE 是跨数据库的标准代码(5字符字符串),而
getErrorCode()返回的是数据库厂商特定的数值代码。 - 部分数据库(如 PostgreSQL)可能通过额外的方法或子类提供更详细的错误信息。
- 建议结合
e.getMessage()获取完整的错误描述辅助诊断。






