安装 Linux软件包 :
sudo apt-get install libaio-dev unzip
转到 Oracle网站 下载 适用于Linux 64位 的 即时客户端 基本 和SDK 。
下载 您已创建 的Oracle 文件夹 中 的 文件 , 并将它们解压缩 :
cd /opt/oracle unzip oracle-basic-11.zip unzip oracle-sdk-11.zip cd instantclient_11_2/ sudo ln -s libclntsh.so.11.1 libclntsh.so
创建 Oracle即时客户端 系统变量
export LD_LIBRARY_PATH=/opt/oracle/instantclient_11_2
然后 ,安装 ruby - oci8 :
sudo env LD_LIBRARY_PATH=/opt/oracle/instantclient_11_2 /usr/bin/gem install ruby-oci8
测试 连接到 数据库 ,创建 一个 Ruby文件 例如 sql.rb , 并复制 / 粘贴以下代码 :
require 'rubygems' require 'oci8' tnsnames = '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = host_name_or_ip)(PORT = 1521)) (CONNECT_DATA = (SID = SID)))' conn = OCI8.new('user', 'password', tnsnames) cursor = conn.exec('SELECT sysdate FROM dual') while r = cursor.fetch() puts r.join(',') end cursor.close conn.logoff
并运行它 :
ruby sql.rb
常见错误信息:
sql:1:in `require’: no such file to load — oci8 (LoadError)
原因: require 'oci8' 前面需加上一行:
require ‘rubygems’
或创建 一个 系统变量 ,它会自动 使用RubyGems :
RUBYOPT=”rubygems”
export RUBYOPT
/var/lib/gems/1.8/gems/ruby-oci8-2.0.4/lib/oci8lib_18.so: libclntsh.so.11.1: cannot open shared object file: No such file or directory – /var/lib/gems/1.8/gems/ruby-oci8-2.0.4/lib/oci8lib_18.so (LoadError)
原因:没有 配置 LD_LIBRARY_PATH变量 是 。