如何从 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 上的表单获取输入时,我得到了简单名称的哈希数组瞬间。如何解决?