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

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

不知道大家在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文件夹里夹或者复制得不全,都会出现如下错误:

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

如下图:

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

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

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

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

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

时间: 2024-08-01 22:47:49

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

Win7 64位系统 Matlab 访问 Mysql 数据库(详细!)

Win7   64位系统 Matlab 访问 Mysql 数据库 PS:  看了很多网上用Matlab 连接Mysql 的技术贴,但是实际自己操作时总是出现问题,现写下详细的技术贴,希望以后少走弯路!后续还会写一些matlab的数据库语句! 实例: I)下载得到mysql-connector-java-5.1.35-bin.jar: http://dev.mysql.com/downloads/connector/j/ 下载:mysql-connector-java-gpl-5.1.35.msi

64位系统中连接Access数据库文件的一个问题

近日在windows 7 64位系统中编译以前写的程序,发现在连接Access数据库时总是出现异常,提示“Microsoft.Jet.OLEDB.4.0”未在本机注册,同样的代码在32位的xp系统中却没有问题,经过一番搜索后找到一个比较简便的处理办法,特在此做一下记录. 原因估计:数据库文件使用Access2003格式的*.mdb文件,其对应的OLEDB 4.0在win7 64位系统中支持不是很好. 处理办法:将数据库文件升级为Access2007格式的*.accdb文件,按如下修改连接字符串,

Win7 64位系统 VS2010连接Oracle报错的问题

1,异常现象: TNS无法识别 2,异常分析:VS2010启动调试的时候,出现异常.但是使用IIS作为服务器的时候,是不会出现异常,也就是可以正常访问到数据库,后来分析是由于VS自带服务器ASP.NET Development Server 对应的程序在C:\Program Files(X86)\Microsoft Visual Studio 10.0下的一个WebDev.WebServer40.EXE,据网上百度说 是由于 路径中 Program Files(X86),识别不了,导致数据库连接

VS2010在64位系统中连接64位Oracle出现的问题和解决方法

C#使用System.Data.OracleClient连接Oracle数据库.我的是window7/64位系统,装了一个64位的oralce 11G r2 客户端是64位的 用VS10调试错误信息如下: 尝试加载Oracle客户端库时引发BadImageFomatException.如果在安装64位Oracle客户端组件的情况下以32位模式运行,将出现此问题. 错误原因是VS调试工具是32位,连接的程序所用的OracleClient也是64位的,从而导致兼容问题.当然,如果在64位操作系统上按

转 powerdesigner12.5在64位JDK下连接mysql数据库问题

前因:由于项目在研发的过程中,数据库字段需要不停的增加和修改,导致最初设计的数据库原型无法使用,后来就想到用powerdesinger来反转数据库表结构. 环境:win7 64位系统,本机装有64位jdk和32位jdk.系统环境变量配置的是64位jdk的地址.eclipse使用的是64位jdk. 现象:powerdesigner通过jdbc数据源直连mysql数据库报 connection failed错. 解决过程:更换最新版本的mysql jdbc驱动后依然报错.排除掉jdbc驱动的问题,猜

去除win7 64位系统桌面图标小箭头

去除win7电脑系统桌面图标的快捷方式的小箭头: 首先在桌面新建一个文本文档,设为去除箭头.txt,第二步,把如下代码粘贴到文档中. reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons" /v 29 /d "%systemroot%\system32\imageres.dll,196" /t reg_sz /f taskkill /f /

win7 64位系统怎么使用debug

安装DOSbox软件 下载个debug.exe然后把这放到D盘或E盘的根目录下 然后启动dosbox软件,在下面输入 mount c d:\ enter键 c: enter键 输入debug命令就ok了 然后就可使用了 win7 64位系统怎么使用debug,布布扣,bubuko.com

Win7 64位系统,PHP 扩展 curl方法

网上给出了很多解决方法都为解决,现分享如下: win7 64位系统,apache24,PHP5.6.6.除了将PHP.ini中的;extension=php_curl.dll前面的";"去掉,还需要如下操作,I had to also also copy libssh2.dll into my Apache24 folder for this to work with my PHP 5.6.2 installation. So altogether I had to do the fo

Win7 64位系统上配置使用32位的Eclipse(转)

Win7 64位系统上配置使用32位的Eclipse 博客分类: Eclipse eclipse 最近工作电脑换成了64位的win7系统,之前个人电脑上安装的jdk和Eclipse都是32位的.而新的工作电脑上安装的JDK是64位的,因 为原来的Eclipse自己安装了很多的插件和个性化配置,不想重新安装64位的Eclipse,所以想在64位的win7系统上继续使用原来的32位 Eclipse. 32位的Eclipse无法和64位的jdk搭配使用,但是我又不想仅仅为了适配Eclipse而只安装3