问题描述

新申请了一个虚拟机
操作系统: 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

最新文章

  1. docker for mac 学习记录
  2. XidianOJ 1154 Nhywieza 的串
  3. UE3 ExampleGame Android版无法运行解决方案
  4. 详细解读PHP时区修改正确方法
  5. js 面试题
  6. rabbitmq例子
  7. Hadoop管理员的十个最佳实践
  8. as3中使用stage ,root ,this 区别详解
  9. struct stat 作用
  10. C#中T的用法
  11. vim列编辑
  12. 201521123118《java程序与设计》第8周学习总结
  13. 大华门禁SDK二次开发(一)-技术沟通
  14. springBootJpa的复杂查询
  15. Linux: Linux C 获取当前系统时间的时间戳(精确到秒、毫秒、微秒) gettimeofday
  16. (PMP)第9章-----项目资源管理
  17. Python函数-logging.basicConfig
  18. Scrum Meeting Beta - 9
  19. HI3518E用J-link烧写裸板fastboot u-boot流程
  20. matlab 破解教程密钥

热门文章

  1. Spring MVC POJO入参过程分析
  2. vmvare安装ubuntu后
  3. count distinct
  4. echo 不换行
  5. Kubernetes - Deploy Guestbook example on Kubernetes
  6. [DeeplearningAI笔记]序列模型1.3-1.4循环神经网络原理与反向传播公式
  7. [LeetCode] 26. Remove Duplicates from Sorted Array ☆
  8. HTML5笔记-加强版
  9. 【BZOJ】4318: OSU! 期望DP
  10. 20155117王震宇 2006-2007-2 《Java程序设计》第一周学习总结