21

MySQL .NET Connectorで VS2010 を使用しています。以前は機能していた私のプロジェクトが報告を開始しました:

エラー 175: 指定されたデータ ストア プロバイダが見つからないか、有効ではありません。

理由はわかりませんが、MS が VS へのホットフィックスを推奨した後、状況がおかしくなりました。

案の定、テスト用の ADO.NET Entity Data Model をプロジェクトに追加しようとすると、.edmx ファイルを生成する Entity Data Model ウィザードで [データベースから生成] を選択してもデータ プロバイダーが表示されません。さらに悪いことに、既存の .edmx ファイルを右クリックして [データベースからモデルを更新...] を実行しようとすると、VS2010 がダイアログ ボックスの死のスパイラルに陥り、タスク マネージャーでのみ終了できます。

修正方法は次のとおりです。VS2010をシャットダウンします。MySQL コネクタを完全にアンインストールします。リブート。MySQL コネクタを完全にインストールします。リブート。VS2010 を再起動します。

突然、私のデータ プロバイダーが存在します。コードをコンパイルできます。テスト用の .edmx ファイルも追加します。ウィザードは MySQL データベースを認識し、テスト接続に合格し、リレーショナル テーブルを使用してオブジェクト モデルを構築します。好きなだけクリーニング/再構築できます。

アプリを実行するまでは問題ありません。私の「修正」は固執しません。

その時点で、接続オブジェクトが null を返していることを示す例外がスローされ、コードを変更せずに再コンパイルすると、エラー 175 エラーが再び発生します。泡立てて、すすぎ、繰り返します。

この StackOverflow の回答に基づくいくつかの実験では、接続文字列が有効であることが示され、MySqlConnection オブジェクトを使用してデータベースにアクセスし、この状態で自分の作業クエリをロールバックできます。

問題は、データ ストア プロバイダーが何らかの形で迷子になったり踏みつけられたりしているように思われ、これが EntityFrameworks を介して何かを実行する機能に影響を与えています。

誰かが似たようなものに出くわした場合、そして私が試してみると思う有用な提案やアイデアがあれば、これらが保存されている場所を探すためのアドバイスを探しています.  

更新- この情報は私の問題を解決しませんでしたが、VS2010 をより安定させました。コントロールパネルからそれをアンインストールし、再起動してから、新しいものをインストールしましたVS2010 は、 EntityFrameworks を操作するためのデータベース プロバイダーを記憶するようになりました。どうやら、古いものをアンインストールすると思って新しいMySQLコネクタをインストールしたようですが、代わりにお互いにステップオーバーしています。

今、私はわずかに異なるメッセージを述べているSystem.ArgumentException内部を取得しています:System.Data.Entity.dll

指定されたストア プロバイダーが構成内に見つからないか、無効です。System.ArgumentException: 要求された .Net Framework データ プロバイダーが見つかりません。インストールされていない可能性があります。

これはSystem.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName)メソッドで発生します。

リビジョンノート-- 上記の取り消し線の理由は、VS2010 が最終的に再び設定を失ったためです。しかし、コントロール パネルから .Net コネクタをアンインストールし、再起動せずにコネクタを再インストールし、データ プロバイダを環境に戻すことができました。問題のこの部分は、.NET コネクタの問題というよりも VS2010 のバグのように感じられます。

4

6 に答える 6

4

Windowsを再インストールした後、SQliteのプロバイダーを追加するのを忘れた後、同じエラーが発生しました。
ここにあり、言及されていませんが、VS 2010 を完全にサポートしています。

于 2011-07-28T04:28:07.730 に答える
1

この問題は、重要な更新後に解消されました。結局、環境/ドライバーのバグだったようです。

于 2011-07-19T14:16:50.057 に答える
1

VS2010を再起動したところ、エラーが消えました!!

于 2012-03-04T16:25:58.547 に答える
0

IDEを再起動するだけでエラーを修正できます。

于 2011-11-22T09:47:45.643 に答える
0

ネット上のいくつかのコメントに基づいて、これはプロバイダーが GAC にないことに関連している可能性があります。

古いバージョンが GAC である可能性もあります。

GAC の内容を確認し、見つからない場合は dll を GAC に追加します。GAC に変更を加えた後、マシンを再起動します。

于 2011-02-02T19:57:04.633 に答える
0

最近このエラーに遭遇し、何度も再起動/再インストールした後、実際には「コネクタ」ユーザーがビューに対して十分な権限を持っていないことが問題であることが判明しました。

于 2012-12-10T15:59:31.483 に答える