由于Oracle 11g R2 X64在windows 2008 R2 64位环境下,并没有提供$ORACLE_HOME/lib32目录,再加上OCI8只支持在32位环境下安装的天然特性,
http://itspace.iteye.com/blog/722876费了很大劲终于将OCI8成功装上。
引用
$ irb
irb(main):001:0> require 'oci8'
=> true
irb(main
不了在使用时,却报如下错误
引用
$ ruby ruby_install_test.rb product
Check general_config Start.....
general_config check error.
/usr/lib/ruby/gems/1.8/gems/ruby-oci8-1.0.2/lib/oci8.rb:52:in `init': OCI Library Initialization Error (OCIError)
from /usr/lib/ruby/gems/1.8/gems/ruby-oci8-1.0.2/lib/oci8.rb:52
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from ruby_install_test.rb:3
OCI8虽然装上,但是不能使用,也就意味着产品不可用。只能另外想办法。尝试将环境变量(包括ORACLE_HOME和LD_LIBRARY_HOME)设成client目录,再次执行,发现正常通过
引用
$ ruby ruby_install_test.rb
Check general_config Start.....
Check general_config end.
Check manager_config Start.....
Check manager_config end.
Check database.yml Start.....
Check database.yml end.
由此可知在,32位的client环境下,能运行正常。但是由于产品需求,必须运行在X64的ORACLE_HOME环境下,于是思考,在X64里面的环境变量PATH前面加上client路径,然后将client路径下的SQLPLUS移除。
引用
$ more .bash_profile
export ORACLE_HOME=c:/app/Administrator/product/11.2.0/dbhome_1
export PATH=/cygdrive/c/app/Administrator/product/11.2.0/dbhome_1/bin:$PATH
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export TEMP=c:/tmp
export TMPDIR=c:/tmp
export RUBYOPT=rubygems
export SCRIPT_HOME=c:/dbra/app/shells
export PATH=$PATH:$SCRIPT_HOME
export RUBY_HOME=/cygdrive/c/dbra/app/ruby
export WEB_HOME=/cygdrive/c/dbra/app/web
export PATH=/cygdrive/c/app/Administrator/product/11.2.0/client_1:/cygdrive/c/dbra/app/shells:/cygdrive/c/oracle:$PATH
再次执行成功,终于解决了在11G R2 X64环境下装OCI8的问题。不知道在aix,hp-ux下面会不会遇到类似问题,拭目以待,但至少提供了一种解决方法之道。
总结:
1、ORACLE 11G client 32bit 在windows2008 R2环境下安装之后没有SDK目录,这导致OCI8安装不成功,在安装完client成功之后,在其ORACLE_HOME目录中需要再次解压instantclient-sdk-win32-11.2.0.1.0.zip,再次安装OCI8即可成功。
2、如需安装其他节点,无须在其他节点再次安装client,只需要将client拷贝至其他节点即可,windows环境下也支持拷贝。
分享到:
相关推荐
连接数据库时提示oci错误,使用这个oci.dll可以解决连接问题 11.2版
php7.0扩展oci8安装(连接oracle扩展包与详细安装过程)
一个OCI简单封装类,对于一些不要求性能的编程绰绰有余,能动态返回记录集,VC平台6.0以上,具体示例见下次上传……
Oracle64位oci解决Navicat for Oracle cannot load oci 126 193错误
OCI
这个包包含在LINUX安装OCI8和PDO_OCI扩展所需要的安装包.
Oracle 调用接口 (OCI) 是最全面、性能最高、基于原生“C”语言的 Oracle 数据库接口,它可以提供 Oracle 数据库的全部功能。...Oracle Instant Client 为 ISV 和客户提供了快速安装和部署 Oracle 应用程序的能力。
本地安装的是64位的Oracle,但由于Navicat仅支持32位的,因此我们还需下载一个32位的客户端。 解决方案 下载32位客户端,配置进navicat中。 第1步:下载 最新OCI文件最新的19.3版本oracle的OCI文件,兼容其下...
OCI例子OCI使用例子,本断代码为OCI使用实例
用oracle oci接口函数封装了自己的操作oracle的类,使用简单方便。
OCI接口类 OCI接口类 OCI接口类
OCI 安装MYSQL时报OCI.dll丢失错误,可将此文件下载拷贝到对应的MySQL目录下
Oracle OCI 接口写的批量插入示例,经过测试,可以使用。
NET 连接到 Oracle的oci_dll加载错误解决方案
各windows版本下的oci.dll oci_10.2.0.5.dll oci_11.1.0.7.0.dll oci_11.2.0.4.0.dll oci_12.2.0.1.0.dll oci_21.3.0.0.0.dll
oci64oci64oci64oci64oci64oci64
使用方法:安装好Navicat——将下载的OCIDLL解压到安装目录,或者只复制自己数据库对应版本的OCI.DLL到安装目录。然后运行Navicat for Oracle,在菜单栏依次展开“工具”——“选项”——其他——OCI——OCI.DLL指定...
oci.dll oci.dll oci.dll oci.dll oci.dll
使用方法:安装好Navicat for Oracle——将下载的OCIDLL解压到安装目录,或者只复制自己数据库对应版本的OCI.DLL到安装目录。然后运行Navicat for Oracle,在菜单栏依次展开“工具”——“选项”——其他——OCI——...
oracle oci11g 下载 用于navicat for oracle