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
打完收工!

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

被折叠的 条评论
为什么被折叠?



