Perl 连接Oracle 出现OCI missing的问题及解决

来源:互联网 发布:最强密码破解软件 编辑:程序博客网 时间:2024/06/01 21:06

问题描述

新申请了一个虚拟机
操作系统: Win Server 2008, 64位 , 8核, 16G Memory

上 http://www.activestate.com/activeperl 下载了一个ActivePerl并安装, 安装完成之后,看上去DBI 和 Oracle 的包都已经安装了。


可以在实际跑一个使用DBI的Perl 脚本时,
use DBI;


却弹出如下错误:




问题及方案分析

OCI.dll 缺失
上google 搜索了一下, 大概有两种简单的说法
1. 是说可以下载一个OCI.dll 直接放到 windows/system32 目录下。
2. 是说要配置ORACLE_HOME
第一种方法试过可以,但应该不是很好, 往操作系统里面放入dll, 侵入性有点大。
第二种方法,都没有安装Oralce,Oracle_home怎么设, 最起码得装一个Oracle Client, 有点麻烦了。


还是系统的想一下这个问题?

1. OCI.dll 什么?

2. OCI.dll 从何获取?

3. 有几种方式加载 OCI.dll?哪一种最好?


方案解决


1. OCI.dll 什么?
Oci.dll是oracle数据库组件


2. OCI.dll 从何获取?
既然是Oracle 的数据库组件, Oracle 官方应该就可以下载。 


到以下地址:
http://www.oracle.com/technetwork/topics/winx64soft-089540.html?ssSourceSiteId=otncn

下载一个 10.2 版本的(因为使用的Oracle 服务器是 10g的)



下载后解压文件目录如下:


能看到oci.dll 了吧。


3. 以何种方式加载 OCI.dll?
既然放入System32目录可以, 那在Path 环境变量加入 OCI.dll的路径应该也可以。

把解压后的路径,加入path环境变量, 这里是 放在c:\oracle 下




所有以上部分做完, 验证一下, 一切ok



0 0
原创粉丝点击