ORA-24960错误

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