【发布时间】:2011-08-10 14:39:27
【问题描述】:
我正在使用 Oracle 数据库开发一个 RoR 项目。最近我向另一个数据库添加了一个 DBLink,这完全可以从 SQL 中运行。 当我想使用以下代码将表格添加到我的班级时...
class ServerModel < ActiveRecord::Base
set_table_name "S985.S985_947_MODELS_VW@R985_A947.WORLD"
set_primary_key "model_barcode"
acts_as_reportable
acts_as_entity
end
...我收到此错误:
NativeException: java.sql.SQLException: ORA-02084: database name is missing a component
: select * from (SELECT "S985"."S985_947_MODELS_VW"@"R985_A947"."WORLD".* FROM "S985"."S985_947_MODELS_VW"@"R985_A947"."WORLD" ) where rownum <= 14
当然,这个自动使用的查询不起作用。它不应该选择"S985"."S985_947_MODELS_VW"@"R985_A947"."WORLD".*,而应该只选择"S985"."S985_947_MODELS_VW".*,而不重复dblink (@R985_947.WORLD) 的名称。
这可以通过set_table_name 方法或任何其他ActiveRecord 方法实现吗?
答案看起来很简单,但我找不到解决方案。有人可以帮我解决这个问题吗?
谢谢!
【问题讨论】:
标签: ruby-on-rails ruby oracle activerecord dblink