【问题标题】:Unknown SQLCODE values未知的 SQLCODE 值
【发布时间】:2014-08-21 08:07:12
【问题描述】:

我的数据库监控工具 Ignite 出现了一些问题。它无法启动,因为它尝试执行某些查询时出错,这是一个示例:

SELECT CAST(stmt_text AS BLOB) igniteex, num_executions, num_compilations, rows_read, rows_written, stmt_sorts 
FROM table(snapshot_dyn_sql('[db_name]',-2)) AS sntable

当我从我的数据库分析工具 (Aqua Data Studio) 执行此查询(以及其他更长的查询)时,它工作得很好(而且速度非常快)。然而,Ignite 会报告带有未列出的 SQLCODE 值的 SQLException(例如 here)。

数据库是 IBM DB2 9.7。返回的 SQLCODE 值为 -930、-954、-443,似乎没有在任何地方列出。有谁知道这些 SQLCODE 值是什么意思?

【问题讨论】:

  • 您可能应该参考产品文档中的错误代码,而不是一些随机的互联网页面。寻找SQL0930N, SQL0954N, SQL0443N respectively
  • 嗯,我在看this page,但由于它不包含我需要的代码,而且我认为它很难导航,所以我更喜欢我发布的链接。感谢您指出我正确的部分!
  • @MatsRydberg,您正在查看的页面适用于 DB2 for z/OS。虽然 z/OS 上的 DB2、LUW 和 IBM i 之间的许多事情是相同的。也有很多不同。最好坚持使用适合您平台和版本的文档。
  • 获取信息的捷径是询问 db2。您可以从 sh 执行 db2 "? SQL930" 并获取有关错误的信息。
  • 您甚至可以从 Aqua 获取信息:VALUES (SYSPROC.SQLERRM ('SQL930', '', '', 'en_US', 0))

标签: sql database db2 sqlcode


【解决方案1】:

正确的文档是here

SQLCODE -443 表示 DB2 例程返回错误。

SQLCODE -930 表示没有足够的可用存储空间。这种存储不是磁盘空间或总内存,而是与为数据库管理器分配的内存有关。

SQLCODE -954的意思与-930基本相同;但它说所有内存都已使用,而不是“不足以完成这项任务”。

无论如何,重新启动 db2 服务器确实消除了这些错误。

【讨论】:

  • 由于声誉低,我无法放置其他两个代码的链接。他们在这里是-930-954
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多