大家好,
几周前,我在遍历大量
结果集记录时遇到了困难。
我在一个数据库适配器类的方法中使用了 db2_fetch_both 函数
来一次只检索一条记录。记录总数
为:5647,当我到达记录编号 1600 时,该函数崩溃
并在“实际结果”字段中生成以下消息。
我接下来复制表的描述
TMP_TABLE
-----------------------------------------------------------------
| ID | TYPE | SIZE | NULL |
-----------------------------------------------------------------
| ID | INTEGER | 4 | NO |
| SERVICE | VARCHAR | 30 | NO |
| ID_v | VARCHAR | 30 | NO |
| INFORMATION | CLOB | 65536 | YES |
| EXP_LEVEL | INTEGER | 4 | NO |
| IP4B | BIGINT | 8 | NO |
| MODIFIED | INTEGER | 4 | YES |
| DETAIL | VARCHAR | 200 | YES |
| FALSPOS | INTEGER | 4 | YES |
-----------------------------------------------------------------
崩溃时,我收到了来自 db2_fetch_both 的此消息
db2_fetch_array() [function.db2-fetch-array]: 获取失败
向 IBM OpenDev 报告此消息后,我得到了一位 OpenDev IBM 员工的帮助,他注意到我
事实证明,这不是 ibm_db2 模块的问题,实际上是数据库配置的问题。
OpenDev 的 IBM 工程师查看了我的 DB2 客户端 CLI 跟踪文件,发现了问题所在。
所以我不得不修改 APP_CTL_HEAP_SZ,现在一切似乎都正常了。
--
埃斯特班·阿科斯塔·比利亚法涅
研发部门
http://www.openware.biz/opendev
领英档案:http://www.linkedin.com/in/estebanav