Ubuntu Server 64bits 如何安装 ruby-oci8

安装  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变量

猜你喜欢

转载自wuhuizhong.iteye.com/blog/1207966
今日推荐