SQL1585N 不存在具有足够页大小的系统临时表空间
。
解释:
可能发生了下列其中一种情况:
1. 系统临时表的行长度超过了数据库中最大系统
临时表空间中可接受的限制。
2. 系统临时表中所需的列数超过了数据库中最大
系统临时表空间中可接受的限制。
系统临时表空间限制取决于其页大小。这些值是
:
最大 最大 临时 记录 列数 表空间的 长度 页大小 ----------- ---- ------------ 1957 字节 244 2K 4005 字节 500 4K 8101 字节 1012 8K 16293 字节 1012 16K 32677 字节 1012 32K
用户响应:
创建受支持的更大页大小的系统临时表空间(如
果还没有)。
若已存在这种表空间,则从系统临时表中消去一列 或多列。 按需要创建独立表或视图来存放超出限
制的更多信息。
sqlcode : -1585
sqlstate : 54048
4.2 在NC系统中做付款结算单网上转账业务操作时,系统报“Non-atomic batch failure. The batch was submitted, but at least one exception occurred on an individual member of the batch.
Use getNextException() to retrieve the exceptions for specific batched elements.”? 解决方案:日志信息显示DB2错误代码为668,当在sql中输入sql信息后,在DB2命令处理器中输入
后,仍然报668错误,故可以判断是由于数据库表不完整所致。
执行以下命令,问题解决。
db2 SET INTEGRITY FOR DB2ADMIN.ebank_dfdk_h_r GENERATED COLUMN, FOREIGN KEY,
MATERIALIZED QUERY, CHECK, STAGING FULL ACCESS IMMEDIATE UNCHECKED
db2 reorg table DB2ADMIN.ebank_dfdk_log_h allow read access
日志信息如下:
[http-127.0.0.1-8888-Processor21] 127.0.0.1 23373 2008/01/23 10:07:28
[nc.itf.fi.ejb.FIArapPrivateServiceEJB] ERROR - <>throws Non-atomic batch failure. The batch was submitted, but at least one exception occurred on an individual member of the batch. Use getNextException() to retrieve the exceptions for specific batched elements.
[http-127.0.0.1-8888-Processor21] 127.0.0.1 23373 2008/01/23 10:07:28
[nc.itf.fi.ejb.FIArapPrivateServiceEJB] ERROR - sql original exception
com.ibm.db2.jcc.b.rg: Non-atomic batch failure. The batch was submitted, but at least one exception occurred on an individual member of the batch. Use getNextException() to retrieve
the exceptions for specific batched elements. at com.ibm.db2.jcc.b.j.a(j.java:397) at com.ibm.db2.jcc.b.tf.b(tf.java:3009) at com.ibm.db2.jcc.b.tf.a(tf.java:2778)
at com.ibm.db2.jcc.b.tf.executeBatch(tf.java:2590)
。。。。。。 。。。。。。 。。。。。。
[http-127.0.0.1-8888-Processor21] 127.0.0.1 23373 2008/01/23 10:07:28 [nc.itf.fi.ejb.FIArapPrivateServiceEJB] ERROR - execute batch exception
com.ibm.db2.jcc.b.SqlException: Error for batch element #0: DB2 SQL error: SQLCODE:
-668, SQLSTATE: 57016, SQLERRMC: 7;DB2ADMIN.EBANK_DFDK_LOG_H
当把后台输出信息调为debug后,输出debug信息中的sql日志,在db2命令编辑器中执行,也仍然报
错,可以判断完全是数据库表数据不一致引起。