rhel8_oracle12c_occi_ORA-24960错误

在vmware虚拟机中,安装完rhel8 + oracle12c后,使用c++程序通过occi库访问oracle, 发现编译成功,但是运行时,会提示:ORA-24960: the attribute OCI_ATTR_USERNAME is greater than the maximum allowable length of 255。

错误原因: oracle12系列并不支持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进行安装。

你可能感兴趣的:(linux,数据库)