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 のバグのように感じられます。