Ошибка при попытке подключения к Oracle из Rails на OS X - PullRequest
2 голосов
/ 17 апреля 2009

Я прошел все шаги, описанные здесь , чтобы настроить свою машину OS X, чтобы позволить мне подключаться к Oracle из приложения Rails.

Настройте файл 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 ]

2 голосов
/ 21 апреля 2009

У вас должна быть строка host: или строка database: line, но не оба.

Используйте строку database: , если у вас есть запись TNS.

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

В противном случае используйте host: format.

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

Больше примечаний здесь:

Как настроить Ruby on Rails с Oracle?

1 голос
/ 17 апреля 2009

Если у вас установлен sqlplus с вашим клиентским программным обеспечением Oracle, попробуйте сначала подключиться к нему, чтобы убедиться, что проблема заключается в вашей конфигурации Rails, а не в информации о вашем соединении или самом сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...