如何从 ruby​​ on rails 上的现有远程 oracle 数据库中获取数据

Posted

技术标签:

【中文标题】如何从 ruby​​ on rails 上的现有远程 oracle 数据库中获取数据【英文标题】:how to fetch data from existing remote oracle database on ruby on rails 【发布时间】:2020-02-19 15:42:33 【问题描述】:

我已经安装了所需的 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

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

以上是关于如何从 ruby​​ on rails 上的现有远程 oracle 数据库中获取数据的主要内容,如果未能解决你的问题,请参考以下文章

Ruby on Rails:如何使用迁移向现有列添加非空约束?

当我尝试从 ruby​​ on rails 上的表单获取输入时,我得到了简单名称的哈希数组瞬间。如何解决?

Ruby on Rails 在现有资源上返回 404

Ruby on Rails - 从 CSV 文件导入数据

如何使用相同的表单在 ruby​​ on rails 中创建和编辑

如何以可扩展的方式部署 [Ruby on Rails] 站点?