1 报错
ORA-24960: the attribute OCI_ATTR_USERNAME is greater than the maximum allowable length of 255
2 解决办法
2.1 方法一
gcc版本高于5.0时,使用occi会报错:ORA-24960: the attribute OCI_ATTR_USERNAME is greater than the maximum allowable length of 255
在代码第一行,增加
#define _GLIBCXX_USE_CXX11_ABI 0
2.2 方法二
错误原因: oracle12系列并不支持rhel8, 从官网的系统支持可以看到。centos8和rhel8使用的是同一个内核。
默认情况下,gcc编译时只会查找相应的头文件,而不会连接具体的lib。也就是说只要在include头文件中有类和函数的定义就可以了,不会检查是否实现,但是运行时就会去检验。
而occi库由gcc-4编译得到,与gcc-8在对于string类的处理上存在兼容性问题。解决办法是: ide降级,即gcc-8改为gcc-4.8.5, 或者安装devtool, 实现多编译器运行。
可以使用rpm包降级,也可以使用gcc-4.8.5.tar.gz进行安装。