问题描述

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

Perl 连接Oracle 出现OCI missing的问题及解决的更多相关文章

  1. Loadrunner参数化连接oracle、mysql数据源报错及解决办法

    Loadrunner参数化连接oracle.mysql数据源报错及解决办法 (本人系统是Win7 64,  两位小伙伴因为是默认安装lr,安装在 最终参数化的时候,出现连接字符串无法自动加载出来: 最 ...

  2. PL/SQL Dev连接Oracle弹出空白提示框的解决方法分享

    第一次安装Oracle,装在虚拟机中,用PL/SQL Dev连接远程数据库的时候老是弹出空白提示框,网上找了很久,解决方法也很多,可是就是没法解决我这种情况的. 出现这种问题,解决方法大概有这几种: ...

  3. 远程连接Oracle时出现ORA-01034 和ORA-27101 的解决办法

    服务器本地连接自身没有问题,但远程客户端连接时报错,远程客户端使用tnsping也没有问题. cmd->tnsping 192.168.56.101:1521/ora11gR2 tnsping命 ...

  4. Oracle的oci.dll加载错误解决办法

    开始 -> 程序 -> Oracle -> Configuration and Migration Tools -> Net Manager→本地→概要文件→Oracle高级安 ...

  5. 在64位Win7中使用Navicat Premium 和PL\SQL Developer连接Oracle数据库备忘

    最近接手了一个项目,服务器端数据库是oracle 11g 64位.由于主要工作不是开发,也不想在自己的电脑上安装庞大的oracle数据库,因此寻思着只通过数据库管理工具连接数据库进行一些常用的查询操作 ...

  6. Navicat Premium 连接Oracle 数据库(图文教程)

    一.需要准备的软件 Navicat premium 32位 官方下载地址:http://www.navicat.com.cn/products/navicat-premium Instant Clie ...

  7. Perl操作Oracle

    一. perl连接Oracle数据库 [oracle@oracle11gR2 perl_script]$ more connect.pl #!/usr/bin/perl #perl script us ...

  8. Navicat Premium 连接Oracle 数据库

    昨天开始工作的时候听同事说:Navicat可以连各种数据库,包括Oracle,头一次听说!!!很是尴尬.现在记录一下怎么用Navicat连接Oracle.最重要的是,Navicat只支持32的Orac ...

  9. Navicat Premium 连接Oracle 数据库之配置

    Navicat Premium连接Oracle 数据库之配置 1.Oracle数据库服务器下载 Oracle官方网站下载数据库最新版本:http://www.oracle.com/technetwor ...

随机推荐

  1. unity3D 涂涂乐使用shader实现上色效果

    unity3D 涂涂乐使用shader实现上色效果 之前我博文里面发过一个简单的通过截图方式来实现的模型上色方法,但是那个方法不合适商用,因为你需要对的很准确才可以把贴图完美截取下来,只要你手抖了一下 ...

  2. MATLAB2010安装方法

    MATLAB2010安装方法 第一步选择无网络安装. 选择yes,然后点击next 激活序列号在crack文件夹中的txt文档中 这一步按照图片上的显示操作就可以 选择经典安装 按提示操作,这一步事激 ...

  3. js闭包及问题的解决

    闭包定义,作用 闭包就是能够读取其他函数内部变量的函数. 作用:一个是可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中 缺点:闭包会保存函数中的变量在内存中,导致内存消耗大   闭包会 ...

  4. ssl证书生成方法

    一般情况下,如果能找到可用的证书,就可以直接使用,只不过会因证书的某些信息不正确或与部署证书的主机不匹配而导致浏览器提示证书无效,但这并不影响使用. 需要手工生成证书的情况有: 找不到可用的证书 需要 ...

  5. == 和 equals,equals 与 hashcode,HashSet 和 HashMap,HashMap 和 Hashtable

    一:== 和 equals == 比较引用的地址equals 比较引用的内容 (Object 类本身除外) String obj1 = new String("xyz"); Str ...

  6. 深入浅出CSS(二):关于雪碧图、background-position与steps函数的三角恋情

    [测试代码] HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  7. Grass is Green

    Root    3719 - Grass is Green Time limit: 3.000 seconds This year exactly n <tex2html_verbatim_ma ...

  8. 最常用的8款 PHP 调试工具,你用过吗?

    Web 开发并不是一项轻松的任务,有超级多服务端脚本语言提供给开发者,但是当前 PHP 因为具有额外的一些强大的功能而越来越流行.PHP 是最强大的服务端脚本语言之一,同时也是 Web 开发者和设计者 ...

  9. idea自动识别get set方法

  10. Try finally的一个实验和为什么避免重载 finalize()方法--例子

    public class TryFinallTest { public TryFinallTest(){ } public void runSomething(String str){ System. ...