19

ASP.Net MVC3、Entity Framework、およびMySQLを使用してWebアプリを作成しようとしています。

Web.Configファイルに次のコードを追加しました。

<connectionStrings>
    <add name="ContactContext" connectionString="server=localhost;database=contacts;uid=root;pwd=password;" providerName="MySql.Data.MySqlClient"/>

  </connectionStrings>

また、プロジェクト「Contact_Me」に「Person」モデル「ContactContext」を作成しました。PersonモデルとContactコンテキストを含む「ContactController」を作成しようとすると、次のエラーが発生します

「「Connect_Me.Models.Persons」のメタデータを取得できません。プロバイダーがProviderManifestToken文字列を返しませんでした。」

MYSQ&MVC3SQL接続エラー\ProviderManifestTokenですが、MySQLを使用しています。これは、私の最も近い質問です。しかし、答えは私の問題を解決しませんでした。

前もって感謝します

4

8 に答える 8

23

これは非常に基本的なことかもしれませんが、EF が使用する接続文字列を見つけることができない場合にも、この例外がスローされます。多層アプリケーションで作業している場合は、データ アクセス コードを含むクラス ライブラリではなく、接続文字列がクライアント アプリケーションに追加されていることを確認してください。ちょうど私の2セント。

于 2012-11-29T19:10:46.607 に答える
10

SQL サーバーが実際にダウンしているときに、このエラーが発生しました。そのため、SQL サーバーが稼働中であることを確認してください。

于 2013-03-19T08:00:40.710 に答える
3

問題は、MySQL コネクタ/ネットにありました。

以前は MySQL コネクタ/Net 6.3.5 を使用していましたが、それをアンインストールして MySQL コネクタ/Net 6.5.4 をインストールした後、問題は修正されました。最新のコネクタはhttp://www.mysql.com/products/connector/にあります。

于 2012-04-23T23:12:17.843 に答える
2

sslmode が原因でこの問題が発生することもあります。私にとっての解決策は、接続文字列に sslmode=None を追加することでした

から接続文字列に小さな変更を加える必要がありました

<add name="Connection" connectionString="Server=SOMEHOST;Database=DB;Uid=USR1;Pwd=PASS1;" providerName="MySql.Data.MySqlClient" />

<add name="Connection" connectionString="Server=SOMEHOST;Database=DB;Uid=USR1;Pwd=PASS1;sslmode=None;" providerName="MySql.Data.MySqlClient" />
于 2016-11-04T14:39:33.613 に答える
0

エラーが接続文字列にある可能性があります。上記のログインを使用して DB インスタンスに接続しようとしましたか。接続文字列を変更してみてください。

connectionString="Data Source=.;Initial Catalog=contacts;Integrated Security=True uid=root;pwd=password;" providerName="MySql.Data.MySqlClient"/>

SQL Server を使用している場合は上記を使用し、SQL Express を使用している場合は以下を使用します。

 connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=contacts;Integrated Security=True uid=root;pwd=password;" providerName="MySql.Data.MySqlClient"/>
于 2012-04-22T17:06:44.190 に答える
0

コンピューターを再起動するとうまくいきました。

このメッセージが表示されている間、私のコンピューター [Windows 10] と、アプリケーションが同じ構成でデプロイされ、そこで正しく動作し、同じデータベースを使用しているテスト サーバーとの間に違いは見つかりませんでした。これは、問題がテスト サーバーで実行されているデータベースに関連していなかった可能性があることを意味します。

言及する価値があるのは、再起動中に保留中の Windows 更新プログラムがいくつかあったことです。

于 2016-01-14T15:30:59.040 に答える
0

これは回答されていますが、接続文字列にある場合と同じ問題が発生しました。私は本当にそれを使うべきではなかったときに「統合セキュリティ」の部分を持っていました。私はデータベース認証に頼っていました。

「Integrated Security=True」の部分を削除したところ、完全に機能しました:)

于 2012-05-18T22:44:19.173 に答える