Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 1217|回复: 0

win7 64位系统 PB连接oracle数据库出现“oracle library oci.dll could not be loaded”问题的解决方法

[复制链接]
  • TA的每日心情
    奋斗
    2024-4-6 11:05
  • 签到天数: 748 天

    [LV.9]以坛为家II

    2034

    主题

    2092

    帖子

    70万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    705612
    发表于 2021-5-17 21:32:07 | 显示全部楼层 |阅读模式

           今天与大家分享一个自己的学习笔记,希望能给遇到同样问题的人带来帮助。

           不知道大家在win7 64位系统下用 PB连接oracle数据库时,是否遇到过“oracle library oci.dll could not be loaded”问题。

           今天,在win7 64位系统下用 PB连接oracle数据库时,一直出现上述错误,在百度上找了很久,都没有找到一个完整的解决方案,咨询了很多人,(他们都说是我的PB和oracle没装好,但我装的时候没出现任何问题,一切都很顺利,而且PB和oracle都能正常使用,就是用PB连接oracle时怎么也连不上,一直找不到解决方案,于是听取了他们的意见,抱着一线希望,把PB和oracle都卸了重装,可是,还是同样的错误啊!!!要崩溃了)问题依然没有得到解决。

    但是,功夫不负有心人,在经过自己无数次的尝试与失败之后,终于解决了这个问题,所以留下这篇随笔与大家分享,也给自己留下个纪念。

    首先,说一下我的电脑系统与安装的软件:

    (1)win7 64位 专业版

    (2)PowerBuilder11.5

    (3)Oracle Database 11g Release 2 (11.2.0.1.0) for Microsoft Windows (x64)

    http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html(oracle下载地址)

    具体的软件下载过程与安装过程我这里就不在讲解,百度上都有

    现在讲解我PB连接Oracle数据库的过程及出现的问题和解决方法

    一、安装好PB和oracle之后,就可以在PB里连接oracle数据库了

    具体连接步骤为:打开DB Profile—>选中O 10 Oracle 10g—>New(也可以直接点击右键选择New Profile...)—>填写好Connection中的Profile name,Server,Login ID,Password和System中的PowerBuilder Catalog Table Owner(注:该项与Connection中Login ID一样,如果不一样会出现如下错误:)

    填好之后可以选择Preview中的Test Connection测试连接,但是我在测试的时候,就出现了如下错误:

    原因:我安装的Oracle是64位的,里面的oci.dll也是64位的,PB需要要使用32位的oci.dll,所以连接时就无法加载oci.dll,

    因此就需要下载一个32位的 instant client来支持PB调用。由此得到以下解决方案:

    解决方案其实很简单,就四步

    第一步:下载一个Instant Client for Microsoft Windows (32-bit) (注:这个是关键,一定要下32位的,千万别下成了下64位的

    (下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html)

    如果下成了64位的还是会出现同样的问题,问题并不能得到解决(原因上面已经说清楚了)

    第二步:将下载的压缩包解压得到instantclient_11_2文件夹,然后将文件夹复制到Oracle安装目录下的Product文件夹下,

    以我的为例:放在D:\Oracle\app\zy\product里,即:D:\Oracle\app\zy\product\instantclient_11_2;

    第三步:在Oracle安装目录下找到NETWORK文件夹,然后将整个NETWORK文件夹复制到D:\Oracle\app\zy\product\instantclient_11_2文件夹里,

    (以我的为例:我的NETWORK文件夹在如下目录里D:\Oracle\app\zy\product\11.2.0\dbhome_1)

    如果没有复制NETWORK文件到instantclient_11_2文件夹里或者复制得不全,都会出现如下错误:

    第四步:配置环境变量(昨天忘了写第四步,这一步很重要,如果环境变量不配置,还是会出现同样的问题)

    步骤:右键我的电脑—>属性—>高级系统设置—>高级—>环境变量—>系统变量

    找到Path,将instantclient_11_2中的oci.dll的路径添加的Path路径中。

    以我的为例:即将D:\Oracle\app\zy\product\instantclient_11_2;添加到Path中。

    完成以上四步之后,问题就解决了。重新打开PB,根据上面的连接步骤连接,就能连接成功了。

    如下图:

     

    如图就连接成功了,在Database中就能看到连接好的数据库了。

     

    另外:在连接的过程中可能会遇到如下问题:

    出现这个问题说明你监听器没开,解决办法很简单,到服务里开启就行

    具体步骤:点击开始菜单—>在搜索框中输入“服务”—>点击打开—>找到以下两项,将其开启即可:

     

       

    今天就和大家分享这些内容,如有不正确的地方,欢迎大家批评指正,关于以上问题,大家如有更好解决方案,欢迎大家前来交流!

     

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-4-28 16:10 , Processed in 0.102082 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表