55 Stimmen

ASP.NET MVC 3 - Es konnte der angeforderte .Net Framework-Datenanbieter nicht gefunden werden.

Hintergrundinformationen:

Ich benutze Microsoft Visual Web Developer 2010 Express.
Informationen über meine (fehlende) Erfahrung: Das Problem ist im ersten Tutorial aufgetreten, das ich versuche durchzuarbeiten.

Zusätzliche Informationen:

  • Ich bin vertraut mit C#, Postgres, Rails (also MVC & Web-Apps sind mir nicht unbekannt)
  • Ich habe keine Erfahrung mit ASP.NET oder SQL Server

Problem Beschreibung:

Ich versuche genau den Schritten aus dem "Einführung in ASP.NET MVC 3"-Tutorial zu folgen und stoße auf ein Problem bei dem ersten Schritt von Teil 5 - Hinzufügen des MoviesControllers:

Wenn ich versuche, den "MoviesController" mit den exakten Einstellungen hinzuzufügen, die im Tutorial gezeigt werden, und auf 'Hinzufügen' klicke, erhalte ich den folgenden Fehler:

"Metadaten für MvcMovie.Models.Movie konnten nicht abgerufen werden. Der angeforderte .NET Framework-Datenanbieter konnte nicht gefunden werden. Er ist möglicherweise nicht installiert."

Google hat viele Ergebnisse geliefert, als nach dem Satz "Der angeforderte .NET Framework-Datenanbieter konnte nicht gefunden werden" gesucht wurde, aber bisher hat nichts das Problem gelöst.

Was ich versucht habe:

Ich glaube, dass SQL-Server nicht installiert war, also habe ich es aus der Visual Studio Express ISO installiert, bekam einen Fehler, dann habe ich einen Reparaturlauf von der ISO ausgeführt und es wurde behauptet, dass alle 15 Punkte einschließlich der Reparatur von SQL Server Express & .NET 4 Framework erfolgreich durchgeführt wurden.

Ich habe das The_.NET_Framework_Setup_Verification_Tool ausgeführt, das für alles erfolgreich war. http://blogs.msdn.com/b/astebner/archive/2008/10/13/8999004.aspx

Nach der erwähnten Neuinstallation & Reparatur habe ich das Projekt neu erstellt und jeden Schritt wie im Tutorial beschrieben befolgt und den gleichen Fehler erhalten.

Ich fand heraus, dass ich nach DbProviderFactories in der machine.config suchen sollte,

Die Root-Web.config des Projekts enthält die folgenden Einträge

Meine machine config-Datei hat nur einen DbProviderFactories-Eintrag:

dann fand ich das Folgende Zitat

"Wir haben die Art und Weise geändert, wie DbProviderFactories.GetFactoryClasses() die Framework-Anbieter in VS2010 bestimmt. Sie sind nicht mehr in der machine.config-Datei aufgeführt. "

von http://social.msdn.microsoft.com/Forums/en-ZA/adodotnetdataproviders/thread/d79129c4-ae05-4c45-8997-bd90f5765a3a

Frage:

Vielleicht ist das also die falsche Richtung und da ich keine Ahnung habe, was ich als nächstes versuchen soll, welche Schritte sollte ich unternehmen, um dieses Problem zu untersuchen & zu lösen?
Übrigens, ich habe postgres installiert, also wenn es eine einfache Lösung wäre, postgres anstelle von SQL-Server zu verwenden, lassen Sie es mich wissen. Für meine eigenen Projekte würde ich sowieso eine andere Datenbank (wahrscheinlich postgres) verwenden wollen, aber vorerst möchte ich in der Lage sein, das erste und scheinbar einfache Tutorial, das ich ausprobiert habe, erfolgreich abzuschließen.

8 Stimmen

Wenn nur jeder seine Fragen so definiert hätte +1

1 Stimmen

Danke, ich schätze den Kommentar.

0 Stimmen

Ich hatte genau das gleiche Problem, das Gleiche zu tun. Danke.

1voto

vasu Punkte 11

Ich habe meinen SQL providerName="System.Data.SqlClient" in der web.config geändert, da ich sowohl den SQL-Client als auch SQL Compact auf meinem System installiert habe.

0voto

theoretical Punkte 420
  1. Stellen Sie sicher, dass Sie zuerst das Build durchführen, bevor Sie den Controller hinzufügen. Wenn das nicht funktioniert...
  2. Erstellen Sie ein neues Projekt, erstellen Sie eine neue SQL-Server-Datenbank manuell und sehen Sie, ob Sie eine Verbindung herstellen können. Wenn nicht, dann liegt das Problem tatsächlich in der SQL-Server-Konfiguration auf Ihrem Rechner. Sie können versuchen, zu postgres zu gehen, stellen Sie nur sicher, dass der Anbieter, den Sie wählen, Unterstützung für EF Code First bietet.

0voto

Jim Punkte 2480

Was ich getan habe, um das erste Problem zu überwinden, war, den folgenden Code in die Web.config einzufügen:

Beachten Sie, dass ich eine SQL CE 4-Datenbank erstelle, daher die Verwendung von .sdf und nicht .mdf

Als Nächstes sollten Sie auf der Seite /Movies weitere Verbindungsfehler erhalten. Ersetzen Sie den obigen Code durch folgenden:

Dann sollte alles in Ordnung sein.

0 Stimmen

Was könnte die Verbindungszeichenfolge für die Vollversion von SQL Server sein?

0voto

Per G Punkte 354

Ich hatte einen Server. Es führte Windows-Updates durch. Und eine Nachricht, die darauf wartete, neu gestartet zu werden, war geöffnet. Nach dem Neustart funktionierte es wieder.

0voto

Installieren Sie Microsoft SQL Server Compact 4.0. Der Link dazu lautet - http://www.microsoft.com/en-us/download/details.aspx?id=17876

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X