Alle Ihre Probleme werden durch Inkompatibilität zwischen Sql Server-Versionen verursacht.
Wenn Sie die 2012 LocalDB installieren, verfügt sie über eine Standardinstanz namens v11.0. Also, wenn Sie wollen auf diese Standardinstanz verbinden und lassen Sie es Ihre MDF-Datei verwalten müssen Sie eine Verbindungszeichenfolge mit
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=....."/>
oder Sie können eine Instanz mit dem Namen durch die Verbindung mit einer administrativen Eingabeaufforderung erforderlich erstellen und Eingabe
SqlLocalDb c MSSqlLocalDB
Aber das ist nicht das Ende der Probleme, denn jetzt müssen Sie mit SQL Server 2012-Version (localdb oder nicht) erstellt eine MDF-Datei haben. Und, wie klar aus der Fehlermeldung erhalten, haben Sie eine MDF-Datei mit Sql Server 2016 erstellt.
Die 2012 kann nicht mit 2016 erstellt Datei lesen. Dies war immer der Fall mit Sql Server (und logisch so), weil neu Versionen der MDF-Datei enthalten immer Verbesserungen oder interne Änderungen, die diese Inkompatibilität verursachen.
Die Lösung ist einfach: Installieren Sie eine Version Ihrer LocalDB-Bits, die mit der MDF-Datei kompatibel sind, die Sie verteilen. (Denken Sie daran, dass LocalDB eine Entwicklungseinrichtung ist und nicht in der Produktion verwendet werden sollte, auch wenn es in einem einfachen Szenario funktioniert. Ich nutze es zum Beispiel, um eine Demo meiner vollständigen Anwendung zu verteilen. So kann ein Kunde mit einer schlechten IT-Abteilung die Daten auswerten Produkt ohne gezwungen zu werden, den Sql Server Express zu installieren o die Vollversion)
Was ist die Fehlermeldung? – Steve
@Steve Es ist ziemlich lang, aber ich werde versuchen, einen wichtigen Teil zu setzen. Beim Herstellen einer Verbindung zu SQL Server trat ein netzwerkbezogener oder instanzspezifischer Fehler auf. Der Server wurde nicht gefunden oder ist nicht verfügbar. Überprüfen Sie, ob der Name der Instanz korrekt ist und ob SQL Server so konfiguriert ist, dass Remote-Verbindungen zugelassen werden (Provider: SQL Network Interfaces, Fehler 50- Localc Database Runtime-Fehler. Die angegebene LocalDB-Instanz existiert nicht. – Bilal
) Haben Sie die Bits für LocalDB installiert? auf der fehlerhaften Maschine? – Steve