私は、Oracleデータベースを使用してRoRプロジェクトを開発しています。最近私は別のデータベースにDBLinkを追加しました。これはSQLから完全に動作します。この自動的に使用されたクエリが動作しませんもちろんActiveRecordをdblinkからテーブルにアクセスさせるにはどうしたらいいですか?
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
:私は次のコードで私のクラスにテーブルを追加したい ...
class ServerModel < ActiveRecord::Base
set_table_name "[email protected]_A947.WORLD"
set_primary_key "model_barcode"
acts_as_reportable
acts_as_entity
end
...私はこのエラーを取得します。 "S985"."S985_947_MODELS_VW"@"R985_A947"."WORLD".*
は選択せず、"S985"."S985_947_MODELS_VW".*
だけをdblink(@ R985_947.WORLD)の名前を複製せずに選択してください。
これはset_table_name
メソッドまたは他のActiveRecord
メソッドで可能ですか?
答えは簡単ですが、解決策が見つかりません。誰も私にこの問題を手伝うことができますか?
ありがとうございます!
ありがとうございます...あなたのソリューションはスムーズに動作します。 – Daan
私はもう一つ問題があります:私のdefault_scopeに不正なクエリ文字列エラー '%'があります。私の方法は:default_scope:conditions => [["FULLNAME like '/ ITインフラストラクチャ/ハードウェア/サーバー/物理/ \%'またはFULLNAME '/ ITインフラストラクチャ/ハードウェア/その他/ \%'"] 私はワイルドカードとしての%。 – Daan
named_scopeの舞台裏で生成されている実際のクエリ文字列を見ることができますか、それともそれがその点に到達する前にエラーが発生していますか? –