使用oci产生core问题,请高手指点.

seumath 2011-09-10 04:06:42
环境:linux,代码如下:

bool CDatabaseProxy::connnect()
{
try
{
if (m_env == NULL)
{
m_env = Environment::createEnvironment (Environment::THREADED_MUTEXED);
}

if (m_p_conn == NULL)
{
if(!(m_p_conn = m_env->createConnection (m_sz_user,m_sz_password,m_sz_dsn)))
{
return false;
}

}
}
catch (SQLException ex)
{
WriteFormatLog(TYPE_RUN,LEVEL_FATAL,IDS_CREAT_DB_CONNECT_ERROR,ex.what());

return false;
}

return true;
}



core文件堆栈信息:
Thread 1 (process 20118):
#0 0x00002b07364379aa in OCIPClearMxCtr () from /opt/oracle/product/11g/lib/libclntsh.so.#1 0x00002b0734f685e6 in oracle::occi::OCCIErrorGet () from /opt/oracle/product/11g/lib/libocci.so.11.1
#2 0x00002b0734f5d561 in _ZN6oracle4occi16SQLExceptionImplC9EPvS2_i () from /opt/oracle/product/11g/lib/libocci.so.11.1
#3 0x00002b0734f5d4fe in oracle::occi::SQLExceptionImpl::SQLExceptionImpl () from /opt/oracle/product/11g/lib/libocci.so.11.1
#4 0x00002b0734f5ebd9 in oracle::occi::SQLExceptionCreate () from /opt/oracle/product/11g/lib/libocci.so.11.1
#5 0x00002b0734f5ee4c in oracle::occi::Environment::createEnvironment () from /opt/oracle/product/11g/lib/libocci.so.11.1
#6 0x000000000041e59f in CDatabaseProxy::connnect (this=0x55a458) at ../src/common/DatabaseProxy.cpp:369


测试人员说由于tnsnames.ora文件配置错误导致,并且重现不了,后续测试都会抛出异常,打印日志。
google不到可以解决的办法,请问有木高手给点意见,可能会是什么问题导致此core问题?

小弟先谢了~

...全文
273 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
seumath 2011-09-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ulihss 的回复:]
你确定你的监听打开了???
或者是不是监听程序有问题?
[/Quote]

监听程序应该没问题,只要tnsnames.ora改对就可以正常启动了。
我也把监听关掉测试了很多次,也可以抛出异常,不会core。
Kobayashi 2011-09-13
  • 打赏
  • 举报
回复
你确定你的监听打开了???
或者是不是监听程序有问题?
胖胖_多多 2011-09-13
  • 打赏
  • 举报
回复
needed to include aditional libraries :
- occiius
- ociei
- occi
- clntsh

needed to include theirs locations directories :
- $ORACLE_HOME/lib
- $ORACLE_HOME/instantclient
- $ORACLE_HOME/instantclient/light

you have made your Oracle installation by oracle universal installer ...

希望对你会有帮助


seumath 2011-09-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 iihero 的回复:]
Environment::THREADED_MUTEXED 换成default试试?
另外,你是不是用了sys用户?
[/Quote]

非sys用户。
请问THREADED_MUTEXED有可能导致core吗?
iihero 2011-09-10
  • 打赏
  • 举报
回复
Environment::THREADED_MUTEXED 换成default试试?
另外,你是不是用了sys用户?

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧