6

プロジェクトにADO.NETエンティティデータモデルを追加したいと思います。OracleデータベースとOracleODP.NETを使用してデータベースに接続しています。

2つのスキーマからクエリを実行する必要があります。そこで、2つの異なるスキーマを使用するように接続を構成しました(別のSOの質問で見つけた情報を使用)。

テーブルはサーバーエクスプローラーに表示されます。ただし、これらはADO.NETエンティティデータモデルの追加ウィザードには表示されません。最初のスキーマのテーブルのみが表示され、前にスキーマ名があります。

TableName(SchemaName). 

両方のスキーマのテーブルを表示するにはどうすればよいですか?

4

4 に答える 4

16

更新: 私は非常によく似た問題を抱えていましたが、Oracleフォーラムで見つかったこの回避策が役に立ちました。前述の回避策は、Oracleの新しいフォーラム領域にはならないようでした。詳細については、こちらのSOの回答をご覧ください。

概要:最新のODACを使用するVS2012では、接続フィルター基準を設定するときに、必要なスキーマとともにデフォルトのスキーマを常に含める必要があります。

何らかの理由で、以前のバージョンのODACを使用したVS2010ではそれを行う必要はありませんでした。

于 2012-12-19T23:22:23.350 に答える
2

これは既知のバグです。私もそれに苦しみ、ある時点でそれは消えましたが、今は私のために戻ってきました。Oracleはこれを認識しており、次のODACリリースで修正されることを願っています。それに関するスレッドについては、ここを参照してください。

https://forums.oracle.com/forums/thread.jspa?messageID=10396897

Oracle従業員からの返信:

投稿日:2012年5月2日15:53

Oracleでこのバグを再現することができ、現在解決策を調査しています。このバグ修正を次のリリースに含める予定です。

于 2012-07-12T16:39:17.033 に答える
1

役立つ場合は...VS2010、EF 5、およびODAC 2.102.2.20を使用して、デフォルト以外のスキーマからテーブルをまったく追加できませんでした。テーブル定義(ユーザーIDのデフォルトスキーマとは異なる)を持つスキーマを使用するようにフィルターを設定したため、サーバーエクスプローラーでテーブルを表示できましたが、モデルに追加できませんでした。ユーザーIDのデフォルトスキーマとテーブルのスキーマの両方をフィルターリストに追加する必要がありました。

于 2013-09-12T20:13:29.250 に答える
0

私にとって重要だったのは、サーバーエクスプローラーでデータ接続を作成したときに、OracleUnmanagedDriverを使用することでした。TNSエイリアスを指定し、.oraファイル(重要)をポイントします。次に、これが問題を引き起こし続けた理由です。[フィルター]をクリックし、テーブルを表示するために必要なスキーマを追加します。デフォルトのスキーマのままにして、必要なスキーマを追加します。これを有効にするには、[更新]ボタンを押す必要があります!!! すべてがうまくいけば、サーバーエクスプローラーのデータ接続にテーブルが表示されます。

次に、ソリューションに移動し、データベースからADO.NETエンティティデータモデル、EFDesignerを追加します。上で作成したデータ接続を保持するダイアログが表示されます。それを選択してください。接続文字列に機密データを含めることにしました。

これで、テーブルを表示するウィンドウに移動すると、テーブルが自動的に表示されます。

これがいつか誰かに役立つことを願っています。私はこれを数週間繰り返し続けました。

于 2021-11-30T20:02:06.170 に答える