与Rails连接时,如何在tnsnames.ora中使用数据库连接信息?

我尝试设置 database: 或者 host: 数据库中的字段。

我验证了sqlplus可以连接到数据库,因此tnsnames.ora是正确的。

我在Rails 3上使用DatamApper,如果这完全有帮助。

有帮助吗?

解决方案

我认为几天前我们在#DatamApper中讲话。 SQLPlus是一块Oracle软件,它与我认为的负载平衡系统相结合。

DatamApper假设存储库和数据存储之间存在1到1映射。通常,这意味着您假设负载平衡是处理数据存储端(例如MySQL或Postgres群集)。

但是,没有什么可以阻止某人编写一个可以让DatamApper在一组存储库之间进行热交换的库,如果可以在每个存储库相关联的每个数据存储器上读取负载(即写下您自己的小负载)平衡路由器)。

我为使用DataMapper存储库的公司完全以这种方式(用于可分离记录,而不是用于负载平衡)。

就像:

DataMapper.repository(seed_repository_symbol) { return your_code_block.call }

其他提示

经过几个小时的大惊小怪,我发现答案是:

# WORKS
development:
  adapter: oracle
  host: devdb
  username: user
  password: pwd

我在Win7上使用Rails 3.2.1,DM 1.2.0,并安装了32位和64位常规客户端。

我一路上发现的一件非常重要的事情: 您必须在数据库的每个mod.yml之间重新启动Rails Dev Server。 我浪费了很多时间不知道。由于某种原因,DatamApper设置没有在这里拾取更改,例如Dev Server的正常情况。

历史:

有人告诉我答案是这个(另一家在Windows上使用Jruby的公司的开发人员):

# DID NOT WORK
development:
  adapter: oracle
  database: user/pwd@devdb

那对我不起作用,我怀疑答案是使用结肠(基于 DataMapper.setup 句法):

# DID NOT WORK
development:
  adapter: oracle
  database: user:pwd@devdb

这也没有起作用,因此我测试了IRM中的手动连接,并研究了 DataMapper.setup. 。它把邦德放在 host 并且没有指示 database 因此,我在database.yml中尝试了相同的尝试。有效。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top