问题描述

新申请了一个虚拟机
操作系统: 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. [JOI 2015 Final] 分蛋糕 2

    link 试题分析 容易发现性质,选择的是一段区间,但是贪心无法去维护这件事情,所以考虑$dp$,且我们只要去设计关于$JOI$的选择. 设$dp(i,j)$为现在要在$[l,r]$区间内选择,然后就 ...

  2. struts2 文件下载的处理

  3. vue2.0 安装及项目搭建(一)

    基本环境安装 1.安装node:从node.js官网下载并安装node.测试:win+R(打开命令行)-------输入cmd-------敲入node -v.如果出现相应版本号,即安装成功: 2.测 ...

  4. PID控制算法的C语言实现七 梯形积分的PID控制算法C语言实现

    在PID控制律中积分项的作用是消除余差,为了减小余差,应提高积分项的运算精度,为此,可将矩形积分改为梯形积分. 梯形积分的计算公式为: pid.voltage=pid.Kp*pid.err+index ...

  5. linux sort中文失效问题的解决

    http://note.youdao.com/noteshare?id=745488efb61a69fb56475e291863c94e

  6. 小程序navigatorTo缺点和修正方法

    1.不好带参数跳转到tabbar,即下部的导航栏目. reLauntch方法可以传递参数到导航栏目: go_to_prolist: function (e) { var datatype = e.cu ...

  7. 如何将html5程序打包成Android应用

    问题分析: html5网站主要由html+css+js的形式组成,需要使用浏览器进行展现. Android需要使用Java语言来开发,对于前端工程师来说,无疑是增加了很大的难度. 随后出现了很多打包工 ...

  8. 怎样在hibernate的HQL语句中使用mysql 的自定义函数?

    问题:怎样在hibernate中使用mysql的函数? 1.hibernate支持原生态的sql语句查询,使用session.createSQLQuery()创建查询对象: 2.怎样在hql中使用my ...

  9. 1.ideal常用快捷键

    Alt+回车 导入包,自动修正Ctrl+N   查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L  格式化代码 Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如ge ...

  10. Dijkstra算法:POJ No 3268 Silver Cow Party

    题目:http://poj.org/problem?id=3268 题解:使用 priority_queue队列对dijkstra算法进行优化 #include <iostream> #i ...