Oracle Ubuntu ORA-24960:属性OCI_ATTR_USERNAME大于允许的最大长度255

Oracle Ubuntu ORA-24960:属性OCI_ATTR_USERNAME大于允许的最大长度255,oracle,ubuntu,occi,Oracle,Ubuntu,Occi,我试图在Ubuntu上运行以下测试程序,使用即时客户端OCCI库连接到oracle数据库 #include <iostream> #include <occi.h> using namespace oracle::occi; int main() { Environment *env = Environment::createEnvironment(Environment::DEFAULT); Connection *conn = env->cr

我试图在Ubuntu上运行以下测试程序,使用即时客户端OCCI库连接到oracle数据库

#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);

}
但是当我跑步的时候

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
我正在运行Ubuntu 16.04,gcc 5.4.0,我在instant client 11.2和12.2上得到了相同的结果

以前有人问过这个问题:但答案不适用于linux(或者我没有抓住要点)


任何帮助都将不胜感激。

通过恢复到旧的编译器解决了问题

$ 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库的编译器和库不兼容。

如果您使用的是CMake

1) 在CMakeLists.txt上添加此行,以指定要使用的编译器

SET(CMAKE\u CXX\u COMPILER/usr/bin/g++-4.8)

另外,您可能需要安装g++-4.8

(apt-get install g++-4.8)

如果可以使用gcc 5.4.0找到解决方案,有什么消息吗?我正在面对。你知道新版本的编译器有什么问题吗?
(apt-get install g++-4.8)