首页 > 解决方案 > 如何从 ruby​​ on rails 上的现有远程 oracle 数据库中获取数据

问题描述

我已经安装了所需的 oci8 gem 并且即时客户端连接成功但是我仍然无法从数据库中的现有表中检索数据,例如有一个 userlists 表

我试图在没有迁移的情况下使用脚手架来创建应用程序,但 oracle 给了我错误消息

OCIError: ORA-00942: table or view does not exist

下面是我的 database.yml 设置

default: &default
  adapter: oracle_enhanced
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  host: link to server
  database: dbname
  username: dbuser
  password: dbpass
  port: portnum

development:
  adapter: oracle_enhanced
  username: dbuser
  password: dbpass
  database: serverlink/dbname

标签: ruby-on-railsoracle

解决方案


最有可能的错误是关于schema_migrations表(包含一个 varchar 列version),rails 使用它来存储有关哪些迁移已应用于数据库的信息。

如果您可以更改数据库 - 最简单的方法是创建该表,因为您稍后可能需要它。

您也可以尝试设置config.active_record.migration_error = false


推荐阅读