21

データベースからプロバイダー情報を取得中にエラーが発生しました。これは、不適切な接続文字列を使用する Entity Framework が原因である可能性があります。内部例外で詳細を確認し、接続文字列が正しいことを確認してください。

内部例外:{"The provider did not return a ProviderManifestToken string."}

同様のエラーが多数あるため、他のスレッドを検索しましたが、解決策が見つからないようです。

VS2012 Professional と SQL Server 2012 を使用しています。Windows 認証を使用してサーバー エクスプローラーを使用してサーバーに接続できます。複数の層を持つ webforms アプリケーションを構築しています。そのうちの 1 つは、Context クラスを含むエンティティ フレームワーク層を含んでいます。

<?xml version="1.0"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
  </system.web>

  <connectionStrings>
    <add name="MYSQLSERVER"
         providerName="System.Data.SqlClient"
         connectionString="Data Source=myComputer\MYSQLSERVER;Trusted_Connection=true"></add>
  </connectionStrings>
</configuration>

これは、Entity Framework クラス ライブラリ レイヤーの app.config の外観です。

<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v11.0" />
      </parameters>
    </defaultConnectionFactory>
  </entityFramework>
</configuration>

また、 app.config の defaultConnectionFactory タイプを

<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">

しかし、何も変わりませんでした。

私が行っている変更が何を意味するのかさえ、私を悩ませているのかよくわかりません。確かにオンラインで解決策を見つけて問題を修正できましたが、web.configとこれが何を意味するのかを本当に理解したいです。この問題の解決策を見つけることに加えて、web.configs を学ぶための正しい方向性を教えてくれる人はいますか?

よろしくお願いします。

4

12 に答える 12

10

私の場合、実行されていなかったのは SQL Server インスタンスでした。サービスを開始しただけで、すべてが正常に機能しました。これが誰かの助けになることを願っています。

于 2014-05-07T04:31:42.980 に答える
4

さて、私はそれを修正しました。

「。」を入れるだけでした。次のように、データ ソースの localmachine を指定します。

<add name="MYSQLSERVER"
     providerName="System.Data.SqlClient"
     connectionString="Data Source=.\MYSQLSERVER;Trusted_Connection=true"></add>    
</connectionStrings>
于 2013-10-01T21:02:55.250 に答える
0

mysql に接続しようとするとこの問題が発生します。その理由は、「connectionStrings」に「パスワード」を追加するのを忘れているためです。

于 2015-09-04T02:41:17.640 に答える