Ubuntu ORA-24960:属性OCI_ATTR_USERNAME大于最大允许长度255
问题描述
我正在尝试在Ubuntu上运行以下测试程序,以使用即时客户端OCCI库连接到oracle数据库.
1 2 3 4 5 6 7 8 9 10 11 12 #include <iostream> #include <occi.h> using namespace oracle::occi; int main() { Environment *env = Environment::createEnvironment(Environment::DEFAULT); Connection *conn = env->createConnection( "user", "1234" ); env->terminateConnection(conn); Environment::terminateEnvironment(env); }
编译时没有错误
但是运行时我会得到
1 2 3 terminate called after throwing an instance of 'oracle::occi::SQLException' what(): ORA-24960: the attribute OCI_ATTR_USERNAME is greater than the maximum allowable length of 255 Aborted
推荐答案
通过还原到较早的编译器解决了该问题.
1 2 $ sudo apt-get install g++-4.8 $ g++-4.8 main.cpp -L ~/instantclient_12_2 -locci -lclntsh -I ~/instantclient_12_2/sdk/include
也许最新的编译器和库与用于构建OCCI库的编译器和库不兼容.