我正在使用 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
方法实现吗?
答案看起来很简单,但我找不到解决方案。有人可以帮我解决这个问题吗?
谢谢!