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:连接描述符太长
如果我使用相同的字符串,但喜欢:
string connection_string2 = "(DESCRIPTION = (ADDRESS = (PROTOCOL = 'TCP')(HOST
= 'real.host.I.need.cz')(PORT = '1510'))(CONNECT_DATA = (SID = 'word')))";
使用实际值,我得到了其他例外:
ORA-12560:TNS:协议适配器错误
(connection_string1 == connection_string2
返回 TRUE)
如果我使用""
(空字符串)或"f"
(任何内容),我得到
ORA-12163:TNS:连接描述符太长
.这不可能是真的。
我怎样才能知道问题出在哪里?
我们连接到版本 11 的服务器,但使用的是即时客户端版本 12.2.0.1.0。
使用即时客户端版本 11.2.0.4.0 解决了这个问题。
相关文章:
- 处理多个异常集合的C++方法
- 我在c++代码中生成了一个运行时#3异常
- 孤立代码块在结构中引发异常
- C++中的赋值发生,尽管右侧出现异常
- 从构造函数抛出异常时如何克服内存泄漏
- 异常属于C++中的线程还是进程
- 当类定义不可见时捕获异常
- 在决定是通过参考还是通过价值时,尺寸真的是一个问题吗
- 引发异常:读取访问冲突**dynamicArray**为0x1118235.发生
- 为什么异常不退出程序?
- 为什么我应该在异常处理中使用std::cerr而不是std::cout
- 如何修复链表类实现的未处理异常0xDDDDDDDD
- 关于:C++中异常对象的范围:为什么我没有得到副本?
- 是什么导致了Unity 3D中的"错误线程异常"?
- 如何将strftime中的格式错误作为异常捕获
- 创建具有 new in 函数和"this is nullptr"异常的对象
- 尝试使用智能指针时引发异常
- 有没有更好的方法来处理异常? try-catch块真的很丑
- std::vector::emplace() 真的在面对抛出移动构造函数/赋值运算符时提供了强大的异常保证吗?
- OCCI 异常:连接描述符太长(但不是真的)