わかりましたので、少し問題があります... 私のプロジェクトでは、Oracle SQL Server を使用しています。データベースでは、他のユーザー テーブルのいくつかにアクセスできます。
Tables:
|-bla
|-bla
Users:
|-otherUser (let's just call him that)
|-Tables:
|-aTable
Oracleでは、aTable
私が使用するテーブルにアクセスするためにSELECT * FROM otherUser.aTable
現在、MS Sync f/w を使用して OracleDB からのデータを同期する MS SQL CE データベースもあります。そして CE db で - 同期後 - テーブルを取得しますotherUser.aTable
。これは良さそうなので、CE にはユーザーの概念がなくても、同じテーブルを追加するだけです。
しかし、問題は、CE で Oracle と同じ SQL クエリを呼び出すと、The table name is not validエラーが発生することです。代わりに、テーブルの内容を取得したい場合、私が見つけた 2 つの方法はotherUser.aTable
、[] または "" で囲みます。
ただし、どちらもOracleでは機能しないようです。[] は不正な名前のようで、"" は (他のユーザーではなく) まさにその名前のテーブルを検索しているようです。
では、一方の方法を Oracle で使用し、もう一方の方法を CE で使用しないのはなぜですか? NHibernateもORMとして使用していますが、両方のデータベースに同じテーブル名が必要です...
Oracle でユーザーを操作し、CE でのみ機能する、テーブル名をカプセル化する 3 番目の方法はありますか? または、この問題を解決する他の方法はありますか?