OCCI 异常:连接描述符太长(但不是真的)
OCCI exception: connect descriptor is too long (but not really)
我正在使用 OCCI 通过 C++ 处理 Oracle 数据库,我正在尝试创建这样的连接:
#include <occi.h>
using namespace oracle::occi;
using namespace std;
int main() {
Environment *env = Environment::createEnvironment(Environment::DEFAULT);
Connection *con = env->createConnection(login, password, connection_string);
}
如果我使用connection_string:
string connection_string1 = "(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =
" + host_ + ")(PORT = " + port_ + "))(CONNECT_DATA = (SID = " + sid_ + ")))";
这是使用一些变量创建的,我遇到了这个异常:
ORA-12163: TNS:connect descriptor is too long
如果我使用相同的字符串,但像:
string connection_string2 = "(DESCRIPTION = (ADDRESS = (PROTOCOL = 'TCP')(HOST
= 'real.host.I.need.cz')(PORT = '1510'))(CONNECT_DATA = (SID = 'word')))";
使用实际值,我得到了其他异常:
ORA-12560: TNS:protocol adapter error
(connection_string1 == connection_string2
returns 真)
如果我使用 ""
(空字符串)或 "f"
(任何东西),我得到
ORA-12163: TNS:connect descriptor is too long
。这不可能是真的。
我怎样才能找出问题出在哪里?
我们正在连接到版本 11 的服务器,但使用的是即时客户端版本 12.2.0.1.0。
使用 Instant Client Version 11.2.0.4.0 解决了问题。
我正在使用 OCCI 通过 C++ 处理 Oracle 数据库,我正在尝试创建这样的连接:
#include <occi.h>
using namespace oracle::occi;
using namespace std;
int main() {
Environment *env = Environment::createEnvironment(Environment::DEFAULT);
Connection *con = env->createConnection(login, password, connection_string);
}
如果我使用connection_string:
string connection_string1 = "(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =
" + host_ + ")(PORT = " + port_ + "))(CONNECT_DATA = (SID = " + sid_ + ")))";
这是使用一些变量创建的,我遇到了这个异常:
ORA-12163: TNS:connect descriptor is too long
如果我使用相同的字符串,但像:
string connection_string2 = "(DESCRIPTION = (ADDRESS = (PROTOCOL = 'TCP')(HOST
= 'real.host.I.need.cz')(PORT = '1510'))(CONNECT_DATA = (SID = 'word')))";
使用实际值,我得到了其他异常:
ORA-12560: TNS:protocol adapter error
(connection_string1 == connection_string2
returns 真)
如果我使用 ""
(空字符串)或 "f"
(任何东西),我得到
ORA-12163: TNS:connect descriptor is too long
。这不可能是真的。
我怎样才能找出问题出在哪里?
我们正在连接到版本 11 的服务器,但使用的是即时客户端版本 12.2.0.1.0。
使用 Instant Client Version 11.2.0.4.0 解决了问题。