2012-11-16 6 views
6

Ich habe eine WinForms-Anwendung, die LocalDb verwendet. Natürlich funktioniert das auf meiner Entwicklungs-Box gut. Wenn ich die Anwendung in einem anderen Feld bereitstellen, erhalte ich die folgende Fehlermeldung:Kann ich eine benannte LocalDb-Instanz programmgesteuert instantiieren?

"Beim Herstellen einer Verbindung zu SQL Server ist ein netzwerkbezogener oder instanzspezifischer Fehler aufgetreten."

Ich habe viele der Beiträge auf Stackoverflow zu diesem Thema durchgesehen - die meisten scheinen mit der Verbindungszeichenfolge verwandt zu sein.

Eines der Probleme, die ich habe, ist, dass ich auf meiner Entwicklungs-Box eine benannte LocalDb-Instanz gestartet habe. Auf meinem Installationsziel leite ich die LocalDb-Installations-MSI.

Gibt es für die installierte Instanz eine Möglichkeit, eine benannte LocalDb-Instanz programmgesteuert zu instanziieren oder eine Verbindung zur Standard LocalDb-Instanz herzustellen?

Ist es möglich, eine benannte LocalDb-Instanz programmgesteuert instanziieren?

Oder kann ich eine Verbindungszeichenfolge erstellen, die verwendet werden kann, um meine LocalDb-Datenbank mit (localdb) \ v11.0 zu öffnen;

Ich benutze auch DbContext in der Entwicklung - wieder auf der Entwicklungs-Box, LocalDb und DbContext funktionieren gut. Beeinflusst die Verwendung von DbContext und EF die LocalDb-Verbindungszeichenfolge auf der Zielbox?

Antwort

4

Es gibt zwei Möglichkeiten tatsächlich:

  1. LocalDBCreateInstance Funktion von LocalDB API für native C/C++ Code und durch PInvoke
  2. system.data.localdb/localdbinstances element in Ihrer Anwendung app.config (.NET-Anwendungen nur, benötigt das .NET 4.0.2 oder höher)
+0

Krztsztof - vielen Dank! - Es sieht auch so aus, dass ich .Net 4.5 in der Installation einschließen muss, um dies zu unterstützen. –

+0

Korrekt, wenn Sie mit der app.config gehen möchten, brauchen Sie .NET 4.0.2 oder höher –

+0

Danke Krzysztof - Wären Sie kann mich auf ein Beispiel app.config für LocalDb zeigen? Es sieht so aus, als ob ich dieses Problem behoben habe, aber einen Fehler gefunden habe: "ungültiger Schlüsselwert für AttachDbFilename" –

Verwandte Themen