尝试从OS X上的Rails连接到Oracle的错误
问题描述:
我通过描述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和工作知道如何解决这个问题?
答
您应该有主机:行或数据库:行,但不是两者。
如果您有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
更多笔记的位置:
答
如果您的Oracle客户端软件安装了sqlplus,则应该先尝试连接,以确保问题在于您的Rails配置,而不是您的连接信息或服务器本身。