设为首页 收藏本站
查看: 1534|回复: 0

[经验分享] Hibernate 与db2的一些问题【转】

[复制链接]

尚未签到

发表于 2016-11-15 03:10:33 | 显示全部楼层 |阅读模式
1.使用hibernate存取blob,可参考使用下面url连接db2:
jdbc:db2://10.2.5.130:50000/testDB:driverType=4;fullyMaterializeLobData=true;fullyMaterializeInputStreams=true;progressiveStreaming=2;progresssiveLocators=2;
2.错误:SQLCODE:   -401,   SQLSTATE:   42818,
操作符错误,编程的时候编码不严谨,如在varchar字段使用操作符号 status=0。
3.SQL0443N SQLSTATE=38553 错误:
从命令行,输入:db2cmd
然后输入:db2
TERMINATE
CONNECT TO <dbname>
BIND <path>/db2schema.bnd BLOCKING ALL GRANT PUBLIC sqlerror continue
TERMINATE  
4.SQLCODE=-302, SQLSTATE=22001
常见报错信息如下:
1)com.ibm.db2.jcc.b.jm: DB2 SQL Error: SQLCODE=-302, SQLSTATE=22001, SQLERRMC=null
2)ERROR DB2 SQL error: SQLCODE: -204, SQLSTATE: 42704,
【分析】根据报错信息看,问题的 产生根源为在支撑的关系型数据库中一些关键字段的字段长度设计太小,插入到字段的数值长度超出了字段的设计大小,从而引起了插入信息的中途截断。
【解决思路】调整报错数据表中的相关字段大小到需求范围,经过测试这里的扩展幅度为新大小为字段初始大小的4倍是合适的。因为DB2数据库的默认表空间页面大小为4K,4K的页面对应的同一数据表的所有字段和长度不能超过4051B,所以扩展相应字段的大小受到了边界的限制。而DB2数据库一旦在数据表创建后,其页面大小是不可更改的,亦即默认4K的页面大小不能再修改为32K。解决思路如下:欲排除错误,必须增加报错字段的长度,欲增大字段长度必须拓展表空间的页面大小,欲调整表空间页面大小必须使得所建各表的缓冲池采用自己事先定义好的页面大小为32K的缓冲池。
【步骤】
方法1,在生成数据表之前,先替换掉系统默认的页面大小为4K的表空间,也就是USERSPACE1。考虑到DB2的自身限制,采用如下方法,删除系统原有的表空间USERSPACE1,然后新建同名的表空间USERSPACE1,为了使该表空间的页面大小为32K,此时一定要注意,缓冲池要选择自己事先建立的页面大小为32K的缓冲池(如LARGE_POOL)。在做完上述操作后,再设置系统的各项数据库连接参数,生成所需的各项数据表。此方法可以排除潜在字段扩展问题,操作简单,建议使用。
方法2,在设置好系统的各项连接参数后,系统会在DB2中生成所需的各项数据表。那么找出产生错误的数据表后,生成创建该表的SQL脚本,然后删除该数据表,编辑该SQL脚本,在最后一行中,用新创建的页面大小为32K的表空间(如EKP_SPACE)替换系统默认的页面大小为4K的表空间(如USERSPACE1)后,重新生成同名数据表即可。缺点:需要找出所有需要扩充字段的数据表进行替换。工作量比较大,稍有遗漏就会有潜在的字段扩展问题产生。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-300281-1-1.html 上篇帖子: AIX环境DB2性能诊断脚本 下篇帖子: JDBC Type4 驱动连接DB2报“encoding not supported!!”错误
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表