Oracle OCCI createEnvironment 32104 32101

今天在Windows下用VS2010调试Oracle OCCI,编译连接都没问题,运行时在createEnvironment处死活过不去,一直抛异常,用DEFAULT报错32104,用了别的报错32101。无奈四处搜索,一直没有解决。最后在CSDN一篇BLOG找到一个链接,http://kaottt.blogspot.jp/2009/06/oracle-10g-occi-11-vs2008.html 终于解决了问题。


链接已经被墙了,登了VPN之后查看,把原因贴出来:


终极原因:不要把 OCI.DLL 拷贝到工作目录,要在环境变量PATH里边加上OCI.DLL所在的目录,我的直接就是ORACLE_HOME。

链接里边说,不要把OCI.DLL和oraocciXX.dll拷贝到工作目录,但是存放oraocciXX.dll的目录里,只有四五个文件,应该不会导致出错,所以oraocciXX.dll是可以拷贝到工作目录里的。


进一步分析:既然oraocciXX.dll可以拷贝,而OCI不可以拷贝,那肯定是有OCI依赖的文件没有一起拷贝过来,缺少依赖的以上错误,所以理论上,找到其依赖,一起拷贝到工作目录,应该也是可以解决该问题的。于是按照这个推论挨个实验,终于最后发现需要将oraociei12.dll、oraons.dll两个dll文件一起拷贝过来,就可以正确执行了。这里oraociei12.dll后边的数字可能要根据你下载的具体版本而定,我下载的是 instantclient_12_1。

但是oraociei12.dll文件又154M,这么庞大不适合到处拷贝吧,用压缩软件压缩之后大概只有三十兆(依格式而定)。具体是拷贝过来,还是引用路径,就大家自己决定了,反正主要问题已经解决了。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值