Perl 连接Oracle 出现OCI missing的问题及解决
问题描述
新申请了一个虚拟机
操作系统: 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
最新文章
- docker for mac 学习记录
- XidianOJ 1154 Nhywieza 的串
- UE3 ExampleGame Android版无法运行解决方案
- 详细解读PHP时区修改正确方法
- js 面试题
- rabbitmq例子
- Hadoop管理员的十个最佳实践
- as3中使用stage ,root ,this 区别详解
- struct stat 作用
- C#中T的用法
- vim列编辑
- 201521123118《java程序与设计》第8周学习总结
- 大华门禁SDK二次开发(一)-技术沟通
- springBootJpa的复杂查询
- Linux: Linux C 获取当前系统时间的时间戳(精确到秒、毫秒、微秒) gettimeofday
- (PMP)第9章-----项目资源管理
- Python函数-logging.basicConfig
- Scrum Meeting Beta - 9
- HI3518E用J-link烧写裸板fastboot u-boot流程
- matlab 破解教程密钥
热门文章
- Spring MVC POJO入参过程分析
- vmvare安装ubuntu后
- count distinct
- echo 不换行
- Kubernetes - Deploy Guestbook example on Kubernetes
- [DeeplearningAI笔记]序列模型1.3-1.4循环神经网络原理与反向传播公式
- [LeetCode] 26. Remove Duplicates from Sorted Array ☆
- HTML5笔记-加强版
- 【BZOJ】4318: OSU! 期望DP
- 20155117王震宇 2006-2007-2 《Java程序设计》第一周学习总结