Ubuntu中Rails连接Oracle数据库

本文指导如何在Ubuntu12.04 LTS Server上配置Rails应用连接Oracle数据库,包括安装所需软件、配置环境变量及数据库参数等关键步骤。

 

Ubuntu中Rails连接Oracle数据库

参考:

http://www.brandon-harris.com/rails/oracle/ubuntu/2010/06/14/oracle-rails-and-ubuntu-10-04.html
——《Oracle, Rails and Ubuntu 10.04》
http://wuhuizhong.iteye.com/blog/1207966
——《Ubuntu Server 64bits 如何安装 ruby-oci8》
http://blog.youkuaiyun.com/wzy0623/article/details/1683337 ——《Oracle 客户端 NLS_LANG 的设置》


正文:

网上很多资料各式各样,而每个系统的配置也是各有不同。经历了数不过来的失败后终于成功了,在这里整理一下,方便今后查阅。

本文配置平台是Ubuntu12.04 LTS Server英文版本,Oracle客户端版本为10.2.0.5,ruby版本为1.9.3,rails版本为3.2.13。


安装配置Oracle

参照前一篇博文:《ubuntu安装oracle客户端》http://aclyyx.iteye.com/blog/1836774

安装插件

首先安装 ruby-oci8 数据库驱动程序:

 

sudo gem install ruby-oci8

 

 

如果安装成功的话,逐行运行下面的命令,应该会得到类似的提示:

 

irb
irb(main):001:0> require 'rubygems'
=> false
irb(main):002:0> require 'oci8'
=> true
irb(main):003:0> tnsnames = '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.253)(PORT = 1521)) (CONNECT_DATA = (SID = zxcp)))'
=> "(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.253)(PORT = 1521)) (CONNECT_DATA = (SID = zxcp)))"
irb(main):004:0> conn = OCI8.new('aclyyx', '88888888', tnsnames) 
=> #<OCI8:ACLYYX>
irb(main):005:0> conn.exec('SELECT sysdate FROM dual') 
=> #<OCI8::Cursor:0x94b8710>
irb(main):006:0> 

 

 

安装 oracle_enhanced 适配器:

 

sudo gem install activerecord-oracle_enhanced-adapter

 

 

最后, 修改 database.yml 文件,如下:

 

production: 
   adapter: oracle_enhanced 
   database: <oracle database>
   username: <oracle username>
   password: <oracle password>

 

 

在本例如下:

 

development: 
   adapter: oracle_enhanced 
   database: zxcp
   username: aclyyx
   password: 88888888

 

 

最后的最后,当运行项目后可能存在中文乱码的问题,此时需要设置环境变量:

 

export NLS_LANG=AMERICAN_CHINA.ZHS16GBK

 

 

打完收工!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值