2009-04-17 45 views
2

我通過描述here的所有步驟來設置我的OS X機器,以允許我從Rails應用程序連接到Oracle。嘗試從OS X上的Rails連接到Oracle的錯誤

搭建database.yml文件在我的應用程序:

development: 
    adapter: oracle_enhanced 
    host: [SERVER IP ADDRESS] 
    database: [ORACLE INSTANCE SID] 
    username: xxx 
    password: yyy 
    encoding: utf8 

與域名也嘗試過。

在Rails的控制檯嘗試...

>> con = ActiveRecord::Base.connection 

但它掛了很長的時間,然後超時與錯誤...

OCIError: ORA-12170: TNS:Connect timeout occurred 
    from env.c:257:in oci8lib.so 
    from /usr/local/lib/ruby/site_ruby/1.8/oci8.rb:229:in `initialize' 
    from /usr/local/lib/ruby/gems/1.8/gems/activerecord-oracle_enhanced-adapter-1.2.0/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb:184:in `new' 
    from /usr/local/lib/ruby/gems/1.8/gems/activerecord-oracle_enhanced-adapter-1.2.0/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb:184:in `new_connection' 

[...] 

有沒有人得到這個在OS X和工作知道如何解決這個問題?

回答

2

您應該有主機:行或數據庫:行,但不是兩者。

如果您有TNS條目,請使用數據庫:行。

database: orcl ## orcl is an entry in tnsnames.ora 

否則使用主持人:格式。

host: dbhost.example.com/orcl # dbhost: network address of the database host 
           # orcl: database instance name 

更多筆記的位置:

How to configure Ruby on Rails with Oracle?

1

如果您的Oracle客戶端軟件安裝了sqlplus,則應該先嚐試連接,以確保問題在於您的Rails配置,而不是您的連接信息或服務器本身。

相關問題