Mar*_*son 15 ruby oracle ruby-on-rails
网上有几个讨论这个问题的网页,但大多数都是以某种方式过时或不准确的.
什么是独家新闻?
Mar*_*son 38
根据http://rubyonrails.org/download:
build ruby
build gem
use gem to install rails
Run Code Online (Sandbox Code Playgroud)
从http://www.oracle.com/technology/tech/oci/instantclient/index.html下载
您的架构需要这两个包.
instantclient-basic
instantclient-sdk
Run Code Online (Sandbox Code Playgroud)
解压缩这些文件,并建立此链接
cd instantclient_10_2
# .dylib for mac, .so for linux
ln -s libclntsh.dylib.10.1 libclntsh.dylib
Run Code Online (Sandbox Code Playgroud)
注意,JRuby用户不需要ruby-oci8,但是需要Oracle JDBC jar,ojdbc6.jar或ojdbc5.jar,具体取决于你是使用Java 6还是Java 5.
从http://ruby-oci8.rubyforge.org/en/index.html下载并运行
# DYLD for mac
export DYLD_LIBRARY_PATH=/path/to/instantclient_10_2
# LD for linux
export LD_LIBRARY_PATH=/path/to/instantclient_10_2
ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install
Run Code Online (Sandbox Code Playgroud)
使用此行和数据库连接字符串进行测试.
ruby -r oci8 -e "OCI8.new('scott/tiger@orcl').exec('select * from user_tables') do |r| puts r.join(','); end"
Run Code Online (Sandbox Code Playgroud)
注意,不是 像许多旧页面提到的activrecord-oracle-adapter.
gem install activerecord-oracle_enhanced-adapter
Run Code Online (Sandbox Code Playgroud)
rails railstest
cd railstest
# edit config/database.yml as below
ruby script/generate scaffold comic title:string issue:integer publisher:string
rake db:migrate
ruby script/server
Run Code Online (Sandbox Code Playgroud)
<http://localhost:3000/comics>
Run Code Online (Sandbox Code Playgroud)
如果您有TNS条目,请使用数据库,否则使用主机.请注意,您有三个要更新的条目(devel,test,production).
development:
adapter: oracle_enhanced
database: orcl # format is tns-name entry
host: myorclhost/orcl # format is hostname/instance-name
username: scott
password: tiger
Run Code Online (Sandbox Code Playgroud)