OCIError: ORA-12514: TNS: слушатель в настоящее время не знает о сервисе, запрашиваемом в дескрипторе соединения, Ruby on Rails - PullRequest
0 голосов
/ 25 сентября 2019

Я должен соединиться с Oracle 12c DB, используя код Ruby on Rails.Использование oracle-enhanced и ruby-oci8 Gems.Вот пример кода:

ActiveRecord::Base.establish_connection(
  adapter: 'oracle_enhanced',
  database: "host:port/database",
  username: 'user',
  password: 'password'
)

class Inventory < ActiveRecord::Base
  self.table_name = 'table_name'
end

puts Inventory.first

Выдает ошибку OCIError: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

Тот же код работает с oracle 10g базой данных.

Кроме того, этот формат также работает с Oracle 10c, но не с 12g

ActiveRecord::Base.establish_connection(
  adapter: 'oracle_enhanced',
  schema: 'schema',
  url: 'oracle-enhanced://user:secret@host:port/database'
)

Я ищу решение, чтобы я мог подключиться к базе данных 12g, используя одно значение строки подключения, как показано выше.

...