2

VS2012 と最新の 32 ビット バージョンの ODAC (Oracle Developer Tools を使用したリリース 5) が Win7 ボックスにインストールされています。すべてクリーンインストールです。この環境には、もともと VS2010 で開発された ASP.NET Web フォーム ソリューションがあり、32 ビット ODAC リリース 4 で構築された EDMX ファイルを使用しています。

データベースへの接続を設定し、サーバー エクスプローラーを使用してテーブルを表示することはできますが、更新ウィザードを使用して EDMX ファイルを変更することができません。更新ウィザードにテーブルが表示されません。

ここに画像の説明を入力

VS2012 更新ウィザードの最初のステップの接続文字列は次のとおりです。

metadata=res://*/Models.EventModel.EventModel.csdl|
res://*/Models.EventModel.EventModel.ssdl|
res://*/Models.EventModel.EventModel.msl;
provider=Oracle.DataAccess.Client;
provider connection string="data source=<serverid>;
persist security info=True;
user id=<userid>"

ただし、別の Win7 ボックスでは、まったく同じ ASP.NET ソリューションを使用して、VS2010、EF 4.1、および以前の 32 ビット バージョンの ODAC (リリース 4) をクリーン インストールしていますが、Update Wizard には問題はありません。

ここに画像の説明を入力

VS2010 および ODAC4 からの Update Wizard 接続文字列は次のとおりです。

metadata=res://*/Models.EventModel.EventModel.csdl|
res://*/Models.EventModel.EventModel.ssdl|
res://*/Models.EventModel.EventModel.msl;
provider=Oracle.DataAccess.Client;
provider connection string="DATA SOURCE=<serverid>;
PASSWORD=;
PERSIST SECURITY INFO=True";
USER ID=<userid>"

その他の関連情報:

1) VS2012/ODAC5 ソリューションで VS2010/ODAC4 ソリューションの web.config を使用しています。

2) VS2012 ソリューションを .NET 4.5 をターゲットに設定しました。

3) EF5 が NuGet 経由でインストールされていることを確認し、VS2012 Update 1 をインストールしました。

4) VS2010 と ODAC5 をクリーン インストールしたボックスもセットアップしましたが、同じ問題が発生しました。更新ウィザードにテーブルがありません。

質問:

この問題を解決するために変更する必要がある web.config 設定またはその他の設定はありますか? もしそうなら、設定は何ですか?

よろしくお願いします。新しい ODAC と VS2012 を使いたいと思っています。

4

1 に答える 1

8

Oracle フォーラムにあるこの回避策が役に立ちました。( user9948241による12 月 19 日の投稿を参照してください。) Oracle には新しいフォーラム ページがあり、上記の投稿は明らかに新しいフォーラムに掲載されませんでした。

どうやら、最新の ODAC を使用する VS2012 では、接続フィルター条件を設定するときに、必要なスキーマと共に既定のスキーマを常に含める必要があります

更新:以下は、Visual Studio サーバー エクスプローラーからデータ接続を追加 (または変更) するためのウィザードの [フィルター] タブです。

注意深く見てください。[フィルター条件を選択] の [値] フィールドに、カンマで区切られた 2 つのスキーマ値 (実際の値はスクリーンショットから削除されています) があることに注意してください。1 つは既定のスキーマ値で、もう 1 つは必要なスキーマです。赤でマークした省略記号をクリックすると、これらのスキーマ値を設定できます。

ここに画像の説明を入力

何らかの理由で、以前のバージョンの ODAC を使用した VS2010 ですべてを行う必要はありませんでした。デフォルトのスキーマを削除し、必要なスキーマを追加しただけです。

于 2012-12-19T23:28:58.957 に答える