Win11系统中PB9.0连接Oracle19c x64,提示oci.dll or ORA803.DLL could not be loaded

问题:

PB9.0中配置数据库,连接时提示报错“PowerBuilder  Oracle library oc.DLL or ORA803.DLL could not be loaded”。

解决方法:

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

http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html)

  1. 2、下载后解压缩,从包里把oci.dll拿出来,放到Oracle的instantclient

(以我的路径为例:E:\Oracle\WINDOWS.X64_193000_db_home\instantclient)

  1. 3、添加环境变量,就刚新放oci的路径(话不多说,直接上图)

  1. 4、连接成功

疑问:
  1. 实际上在Oracle目录的bin文件夹里已经有了一个oci.dll,但注意这是64位的,哪怕复制到上述路径里,PB9.0连接时依然会有报错,故需要重新下载32位的oci.dll.
完活!!!

处理灵感来源于:win7 64位系统 PB连接oracle数据库出现问题的解决方法_pb11.5 oci.dll-CSDN博客

### 解决 Oracle 19c 中 `oci.dll` 初始化失败的问题 #### 错误原因分析 当遇到 `Could not initialize oci.dll` 的错误时,通常是因为应用程序尝试加载的 `oci.dll` 文件与应用程序本身的架构不匹配。具体来说,在 Windows 平台上,如果应用程序是 64 位的,则需要相应地使用 64 位版本的 `oci.dll`[^1]。 另一个常见原因是 `oci.dll` 及其依赖项未能正确放置或配置于系统的路径中。这可能导致即使存在合适版本的库文件也无法被成功加载和初始化[^2]。 #### 解决策略 为了有效解决问题,建议采取如下措施: - **确认并获取兼容版本的 OCI 库** 访问官方资源页面下载适用于当前操作环境(如操作系统位数)的最新版 Oracle Instant Client 基础包。对于 Windows 用户而言,应特别注意区分 32 位与 64 位版本的选择,并确保所选版本不低于所需最低要求(例如 8.1.7 版本以上),以满足特定应用的需求[^3]。 - **正确部署 DLL 文件** 将从即时客户端压缩包中获得的所有必要文件复制至目标位置,而不是仅仅替换现有的 `oci.dll` 单个文件。这样做可以避免因缺少其他必需的支持组件而导致的功能异常。 - **设定正确的环境变量** 对于某些开发工具或者服务端程序(比如 IIS 上运行的应用),还需要通过设置系统级别的环境变量来指定 `OCI_LIBRARY` 路径指向新安装的 Instant Client 目录下完整的 `oci.dll` 文件路径,从而帮助这些进程自动定位所需的动态链接库[^4]。 - **验证安装情况** 完成上述调整之后重启相关联的服务或重新启动计算机使更改生效,随后再次测试连接功能是否恢复正常工作状态。此外也可以借助命令行工具如 `tnsping` 来初步检验网络层面上同数据库实例之间的连通状况[^5]。 ```bash # 使用 tnsping 测试 TNS 连接 (假设已正确设置了 ORACLE_HOME 和 PATH) tnsping your_database_service_name ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值