Chế tạo ruby, đá quý và đường ray
theo http://rubyonrails.org/download:
build ruby
build gem
use gem to install rails
Tải xuống Oracle Instantclient
Tải xuống từ https://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html
Bạn cần hai gói này cho kiến trúc của mình.
instantclient-basic
instantclient-sdk
Giải nén các tệp này và tạo liên kết này
cd instantclient_10_2
# .dylib for mac, .so for linux
ln -s libclntsh.dylib.10.1 libclntsh.dylib
Xây dựng ruby-oci8
Lưu ý, người dùng JRuby không cần ruby-oci8, nhưng cần jar Oracle JDBC, ojdbc6.jar hoặc ojdbc5.jar tùy thuộc vào việc bạn có Java 6 hay Java 5.
Tải xuống từ http://ruby-oci8.rubyforge.org/en/index.html và chạy
# 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
Kiểm tra với dòng này và chuỗi kết nối cơ sở dữ liệu của bạn.
ruby -r oci8 -e "OCI8.new('scott/[email protected]').exec('select * from user_tables') do |r| puts r.join(','); end"
Cài đặt activerecord-oracle_enhanced-adapter
Lưu ý, không activrecord-oracle-adapter như nhiều trang cũ hơn đề cập đến.
gem install activerecord-oracle_enhanced-adapter
Làm điều đó thật ngọt ngào
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
Kiểm tra trong trình duyệt
<http://localhost:3000/comics>
config / database.yml
Sử dụng cơ sở dữ liệu nếu bạn có mục TNS, nếu không, hãy sử dụng máy chủ lưu trữ . Lưu ý rằng bạn có ba mục nhập (phát triển, thử nghiệm, sản xuất) để cập nhật.
development:
adapter: oracle_enhanced
database: orcl # format is tns-name entry
host: myorclhost/orcl # format is hostname/instance-name
username: scott
password: tiger
Tài liệu tham khảo
- http://emphaticsolutions.com/2008/05/22/connecting-to-oracle-from-ruby-on-rails.html
- http://www.oracle.com/technology/pub/articles/saternos-ror-faq.html
- http://drawohara.com/post/37166893/rails-unsucking-oci-oracle-on-rails-2-1
- http://www.oracle.com/technology/pub/articles/haefel-oracle-ruby.html