在一次OCCI项目中,我有两点比较深刻的体会,小结如下:
一、平台相关性
因为10G的C/C++编译还是基于3.2.3版本的,所以在CentOS 4上会出现C/C++库不匹配的问题,这个需要从Oracle的material网站下载occi/clntsh的共享补丁包,用补丁包的共享库文件覆盖10G安装所得的共享库文件。如果基于CentOS 3上,则没有这个兼容性问题,所以不需要补丁包。这个类似于9i中的著名296版本问题,只是需要长一个心眼记住即可。
二、整型列值的抽取
因为考虑到数据的验证和简化,对NUMBER列直接用getInt()方法来抽取并赋值,一直以来还没有碰到什么问题,直到公司的业务扩大,对某列ID型NUMBER扩大全十位(原来一直是int32),我的程序就挂了,每次一碰到这种溢出数据就异常退出,造成后续数据停停走走,恢复很麻烦,后来统一用getString()方法来抽取,后续再用代码来验证,总算避开了这个问题。
本文转自 dannyy1026 51CTO博客,原文链接:
http://blog.51cto.com/dannyyuan/39543