webentwicklung-frage-antwort-db.com.de

Der Anbieter hat keine ProviderManifestToken-Zeichenfolge Entity Framework zurückgegeben

Beim Abrufen von Providerinformationen aus der Datenbank ist ein Fehler aufgetreten. Dies kann durch eine falsche Verbindungszeichenfolge bei Entity Framework verursacht werden. Überprüfen Sie die inneren Ausnahmen auf Details und stellen Sie sicher, dass die Verbindungszeichenfolge korrekt ist.

Innere Ausnahme: {"The provider did not return a ProviderManifestToken string."}

Ich habe andere Threads gesucht, da es viele mit ähnlichen Fehlern gibt, aber ich kann keine Lösung finden. 

Ich verwende VS2012 Professional und SQL Server 2012. Ich kann mit dem Server-Explorer unter Verwendung der Windows-Authentifizierung eine Verbindung zum Server herstellen. Ich baue eine Webforms-Anwendung mit mehreren Ebenen. Eine davon enthält meine Entity-Framework-Ebene, die meine Context-Klasse enthält. 

<?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>

So sieht die app.config in meiner Entity Framework-Klassenbibliotheksebene aus.

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

Ich habe auch versucht, den Typ app.config defaultConnectionFactory in zu ändern 

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

aber es hat sich nichts geändert.

Ich bin mir nicht wirklich sicher, welche der Änderungen ich auch mache, was mich beunruhigt. Sicher, ich konnte die Lösung online finden und mein Problem beheben, aber ich würde wirklich gerne die web.config verstehen und was das alles bedeutet. Kann mir jemand, der eine Lösung für dieses Problem findet, in die richtige Richtung weisen, um web.configs zu lernen?

Vielen Dank für Ihre Hilfe.

17
Leyth G

In meinem Fall wurde meine SQL Server-Instanz nicht ausgeführt. Ich habe einfach mit dem Service angefangen und alles hat gut funktioniert. Hoffe, das hilft jemandem die Straße runter.

8
dotNET

Hier ist eine andere mögliche Ursache:
Ich habe sowohl meinen (ASP.NET) HTTP-Server als auch den MySQL/Aurora-Server unter AWS (verstanden, dass AWS nicht Teil der Kommentare des OP war).
.__ Die IP-Adresse meines Desktops (eigentlich unseres Gebäudes) wurde in die Sicherheitsgruppe des MySQL/Aurora-Servers aufgenommen, sodass alles perfekt für die Entwicklung funktionierte.
Aber die IP des ASP.NET-Servers war nicht für die MySQL/Aurora-Instanz als Whitelist aufgeführt, daher wurde die EF-Verbindungsanforderung des ASP -Servers abgelehnt, und das verursachte die Ausnahme am oberen Rand dieses Threads.
Esoterisch, aber vielleicht hilft das jemandem.

3
dlchambers

Nun, ich habe es repariert.

Ich musste nur "." für localmachine in der Datenquelle wie folgt:

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

Ich hatte das gleiche Problem, eine Neuinstallation von Npgsql mit dem Paketmanager hat den Trick ausgeführt. Scheint ein Versionsproblem zu sein. 

0
Kirsy92

In meinem Fall war der Parameter v12.0, ich habe auf v11.0 geändert und funktioniert

0

ich begegne diesem Problem, wenn ich versuche, eine Verbindung zu Mysql herzustellen. Der Grund ist, dass ich vergessen habe, das "Passwort" in "connectionStrings" hinzuzufügen.

0
user5091911

Ich bin auch auf diesen Fehler gestoßen und löse das Downgrade dieser NuGet-Pakete

MySql.Data - 6.9.12

MySQL.Data.Entity - 6.8.8

dies ist meine Referenz URL die ich angesprochen habe 

0
kgdc

..und ENDLICH (?!?) Vergessen Sie nicht, Ihr Projekt mit 'Prefer 32-Bit' zu erstellen, da dies den BEKANNTEN BUG beseitigt, der diese Fehlermeldung generiert (die die innere Ausnahmemeldung = 'Arithemtischer Überlauf' aufweist).

0
Richard Hammond

Für mich war alles das Folgende. 1. Die Datenbank darf keine Verbindung zu meiner Entwicklungsumgebung herstellen. Möglicherweise Firewall-Einschränkungen. 2. Verbindungszeichenfolge hatte falsche Anmeldeinformationen für die Datenbank. Also im Allgemeinen falsche Verbindungszeichenfolge.

0
Amol Bhavekar

Bei mir wurde ein doppelter Backslash zwischen dem Server und der Instanz verwendet, z.

Die Korrektur war zu verwenden.\SQLEXPRESS

hoffe es hilft jemandem.

0
Shadi Namrouti