source

Oracle로 Ruby on Rails를 구성하는 방법은 무엇입니까?

nicesource 2023. 9. 11. 21:53
반응형

Oracle로 Ruby on Rails를 구성하는 방법은 무엇입니까?

웹에는 이에 대해 논의하는 페이지가 여러 개 있지만 대부분은 오래되었거나 어떤 면에서는 부정확합니다.

특종이 뭐죠?

루비, 보석, 레일 구축

http://rubyonrails.org/download 에 따르면 다음과 같습니다.

build ruby
build gem
use gem to install rails

Oracle Instant 클라이언트 가져오기

https://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html 에서 다운로드합니다.

아키텍처를 위해서는 이 두 가지 패키지가 필요합니다.

instantclient-basic
instantclient-sdk

이 파일의 압축을 풀고 이 링크를 만듭니다.

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

루비-oci8 구축

참고로 JRuby 사용자에게는 ruby-oci8이 필요하지 않지만 Java 6 또는 Java 5가 있는지에 따라 Oracle JDBC jar가 필요합니다.

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/tiger@orcl').exec('select * from user_tables') do |r| puts r.join(','); end"

활성 record-oracle_enhanced-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/signal.yml

TNS 항목이 있는 경우 데이터베이스를 사용하고 그렇지 않은 경우 호스트를 사용합니다.업데이트할 항목이 3개(개발, 테스트, 프로덕션) 있습니다.

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

참고문헌

이전 답변에 대한 몇 가지 추가 링크.

Mac에 있는 경우, Mac OS X에서 RubyOracle Instant Client를 설정하는 방법 튜토리얼을 따라 Ruby에서 Oracle 데이터베이스에 액세스할 수 있습니다.

그런 다음 ActiveRecord Oracle 고급 어댑터 위키를 읽고 Ruby on Rails에서 Oracle 연결을 얻을 수 있습니다.이 어댑터는 오라클 프로젝트의 많은 Ruby on Rails에서 사용되며 현재 적극적인 유지보수 중입니다.

또한 정기적으로 블로그에 Ruby와 Oracle에 대한 글을 올립니다.

제 경우에는 이미 Windows 7에서 루비, 보석, 레일스, 오라클 클라이언트를 사용하고 있었습니다.Windows 32비트용으로 ruby-oci8 바이너리 패키지를 설치했습니다.

출처 : http://ruby-oci8.rubyforge.org/en/file.install-binary-package.html

gem install ruby-oci8
gem install --platform x86-mingw32 ruby-oci8

그 다음은:

gem install activerecord-oracle_enhanced-adapter

오라클에서 레일즈를 할 준비가 되어 있습니다.

현재 버전을 반영하기 위한 업데이트(작성 기준:2015년 8월):

  • 설치하다libaio(Ubuntu/Debian Linux의 경우)apt-get install libaio-dev- 0.3.109-4)
  • Oracle Instant Client 다운로드(12.1.0.2.0, Basic + SDK로 충분합니다. Basic 대신 Basic Lite를 아직 시도하지 않았습니다.)
  • 환경 변수 설정(필요에 맞게):

    export LD_LIBRARY_PATH=/path/to/the/Instant/Client/directory
    export NLS_LANG="German_Germany.WE8ISO8859P1"
    
  • 루비(2.2.1p85), 보석(2.4.6), 레일(4.2.3), ruby-oci8(2.1.8, https://github.com/kubo/ruby-oci8) ) 및 active record-graphics_graphics(1.6.2, https://github.com/rsim/oracle-enhanced) )는 일반적인 방식으로 설치할 수 있습니다(사용했습니다).rvm(1.26.11) - https://rvm.io/), 의 경우 기본적으로 세 가지 보석에 대한 작업을 수행해야 합니다.

    gem install rails ruby-oci8 activerecord-oracle_enhanced-adapter
    
  • 레일 앱 만들기

  • Rails 앱 구성:

    • 인에Gemfile더하다activerecord-oracle_enhanced-adapter그리고.ruby-oci8:

      gem 'activerecord-oracle_enhanced-adapter'
      gem 'ruby-oci8'
      
    • 인에config/database.ymlOracle 환경 추가:

      development:
        adapter: oracle_enhanced
        host: my-db-host
        port: my-port
        database: my-db
        username: my-user
        password: my-password
      
    • 번들이 보석을 잡게 하소서.bundle install:

      ...
      Using activerecord-oracle_enhanced-adapter 1.6.2
      ...
      Using ruby-oci8 2.1.8
      ...
      
    • 울릴 준비 완료:

      rails generate scaffold book title:string author:string
      rake db:create db:migrate
      ...
      

참고:

Oracle 환경에 따라 다름(즉,my-user이미 존재하거나 생성해야 함)를 생략할 수 있습니다.db:create진술 여부후자의 경우에는rake사용자를 생성하고 해당 권한을 부여할 수 있도록 SYS/SYSTEM 암호를 입력하라는 메시지가 나타납니다.

언급URL : https://stackoverflow.com/questions/764887/how-to-configure-ruby-on-rails-with-oracle

반응형