« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
| 公告 |
Seeking somebody... |
Blog信息 |
blog名称:竹,劲竹;刀,快刀 日志总数:17 评论数量:26 留言数量:0 访问次数:205264 建立时间:2005年6月8日 |

| |
[工作·学习]恼人的DB2 软件技术
竹刀 发表于 2006/2/14 18:24:53 |
近日负责调试修正产品对DB2的支持,于是找到介质安装一番;使用MTK工具把oracle的SQL脚本翻译过来,建库,本地映射;用DbUnit导入演示数据;更改应用数据库配置,启动应用……
一切都似乎那么完美,顺利得自己都不太相信。可不曾想,一日调试修正下来,修改了程序中不太规范的一些SQL后,第二日一早过来,重启机器后竟报错,不能连上数据库了。
COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver] SQL30081N 检测到通信错误。正在使用的通信协议:"TCP/IP"。正在使用的通信 API:"SOCKETS"。检测到错误的位置:"192.9.200.88"。检测到错误的通信函数:"recv"。协议特定的错误代码:"10054"、"*"、"0"。SQLSTATE=08001
在Message Reference没能找到解决办法后,只好百问google,可惜的是没有找到解决方案。时间紧迫,唯有重新建库,配置,又是那么顺利。今天再次重启系统的时候,问题又再次出现了,苦~~~~~~~~~
最后,在多次反复尝试,建库配置后。在配置本地映射时使用搜索网络的办法配置了一个,重启系统,问题似乎得到解决了!不同之处只是在于:前面服务器主机名用的是IP地址,而通过这个搜索获得的连接是主机名。
难道就是这个原因?又google了一下,没有找到太有用的说明信息,不解中...。希望明天早上来开机时一切仍那么美好。 目前系统中仍存在的两个问题是:1)国际化问题,使用UTF-8可以正确处理阿拉伯等文字时,先前导入的汉字竟显示成了方块。2)VARCHAR字段的最大长度问题,文档告诉我有32K页大小的表空间,这个最大长度可以去到32677,而我的怎么试都只能是16K页大小的长度:16293。
嗯,最后再赞一下DbUnit。对于跨数据库的数据导入导出真是十分方便。
DB2的问题仍然需要继续学习跟进,感觉IBM的东西,文档什么的似乎都挺全。只是出了问题有时又很难找到解决方案。也许是自己的问题吧。还是IBM故意如此才好卖服务?
嗯,报告一下.关于启动报错,想来想去,可能是当时在局域网中IP地址冲突的问题.因为申请了固定IP后,在同事另一台机器上连过来没有什么问题.
另外,VARCHAR的长度问题,32677是总值.rowid占4bytes,有32672可以分配. |
|
|