sql >> データベース >  >> RDS >> Oracle

OracleでRubyonRailsを構成するにはどうすればよいですか?

    ルビー、宝石、レールを作る

    http://rubyonrails.org/downloadによると:

    build ruby
    build gem
    use gem to install rails
    

    OracleInstantclientを入手

    https://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.htmlからダウンロード

    アーキテクチャにはこれら2つのパッケージが必要です。

    instantclient-basic
    instantclient-sdk
    

    これらのファイルを解凍し、このリンクを作成します

    cd instantclient_10_2
    # .dylib for mac, .so for linux
    ln -s libclntsh.dylib.10.1 libclntsh.dylib
    

    ruby-oci8をビルドする

    JRubyユーザーはruby-oci8を必要としませんが、Java6またはJava5のどちらを使用しているかに応じて、ojdbc6.jarまたはojdbc5.jarのいずれかのOracleJDBCjarが必要です。

    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
    

    この行とデータベース接続文字列を使用してテストします。

    ruby -r oci8 -e "OCI8.new('scott/[email protected]').exec('select * from user_tables') do |r| puts r.join(','); end"
    

    activerecord-oracle_enhanced-adapterをインストールします

    注、ではありません activrecord-oracle-adapter 多くの古いページが言及しているように。

    gem install activerecord-oracle_enhanced-adapter
    

    その甘いレールのことをしなさい

    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
    

    ブラウザでテスト

    <http://localhost:3000/comics>
    

    config / database.yml

    データベースを使用する TNSエントリがある場合は、 hostを使用します。 。更新するエントリが3つ(開発、テスト、本番)あることに注意してください。

    development:
        adapter: oracle_enhanced
        database: orcl           # format is tns-name entry
        host:  myorclhost/orcl   # format is hostname/instance-name
        username: scott
        password: tiger
    

    参考資料

    • 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


    1. SQL ServerのDECIMALとNUMERICに違いはありますか?

    2. 私のお気に入りのPostgreSQLクエリとその重要性

    3. トリガー内で例外を発生させる方法は?これを行う方法はありますか?

    4. プログラムでどのSQLテーブルにID列があるかをどのように判断しますか