DB2 V9.7 for Linux, UNIX, and Windows

SQLCODE、SQLSTATE 和 SQLWARN 字段中的错误信息

错误信息在 SQLCA 结构的 SQLCODE 和 SQLSTATE 字段中返回,该结构在每个可执行 SQL 语句以及大部分数据库管理器 API 调用之后被更新。

包含可执行 SQL 语句的源文件可以至少提供一个名为 sqlca 的 SQLCA 结构。SQLCA 结构在 SQLCA 包含文件中定义。未包含嵌入式 SQL 语句但调用了数据库管理器 API 的源文件还可以提供一个或多个 SQLCA 结构,但它们可以具有任意的名称。

如果应用程序符合 FIPS 127-2 标准,那么对于 C、C++、COBOL 和 FORTRAN 应用程序,可以将 SQLSTATE 和 SQLCODE 声明为主变量,以代替使用 SQLCA 结构。

SQLCODE 值 0 表示执行成功(可能存在 SQLWARN 警告情况)。正数值表示语句已成功地执行完成,但出现警告,例如主变量被截断。负数值表示发生错误情况。

另一个字段 SQLSTATE 包含标准化的错误代码,此错误代码在其他 IBM® 数据库产品之间以及符合 SQL92 的数据库管理器之间保持一致。在实践中,当您关心可移植性时,应该使用 SQLSTATE 值,这是因为 SQLSTATE 值在许多数据库管理器之间保持一致。

SQLWARN 字段包含警告指示符数组,即使 SQLCODE 为零亦如此。如果 SQLWARN 数组中除第一个元素 SQLWARN0 以外的所有其他元素均为空,那么第一个元素也为空。如果除 SQLWARN0 以外的至少一个元素包含警告字符,那么 SQLWARN0 包含 W

注: 如果您想开发需要访问各种 IBM RDBMS 服务器的应用程序,那么应该: