Was ist die Verbindungszeichenfolge für localdb für Version 11?
Ich versuche zu tun, den Code-First-Durchlauf des entity framework ( http://blogs.msdn.com/b/adonet/archive/2011/09/28/ef-4-2-code-first-walkthrough.aspx ).
Habe ich die neueste SQL-Server-Express und wenn ich meine Versionen verfügbar, über die Befehlszeile (sqllocaldb info): ich sehe localdbApp1 und v11.0. Wenn ich versuche zu laufen, die Exemplarische Vorgehensweise mit ein paar kleinen tweaks, bekomme ich keine Verbindung-Fehler.
Meine app.config sieht wie folgt aus:
<parameter value="Server=(LocalDB)\v11.0; Integrated Security=True; MultipleActiveResultSets=True" />
Schrieb ich eine einfache Verbindung testen, wie unten beschrieben, und der code gibt die gleiche SQL-Verbindung Fehler ((provider: Named Pipes-Anbieter, Fehler: 40 - Konnte nicht geöffnet werden eine Verbindung zu SQL Server)).
new System.Data.SqlClient.SqlConnection("Data Source=(LocalDB)\v11.0; Integrated Security=True; MultipleActiveResultSets=True").Open();
Habe ich versucht, anstelle "Data Source=..."
mit "Server=..."
aber ohne Erfolg da.
Irgendwelche Ideen, was die Verbindung Zeichenfolge sollte?
InformationsquelleAutor der Frage Bill Nielsen | 2012-05-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
1) Erfordert .NET framework 4 aktualisiert und mindestens 4.0.2. Wenn du 4.0.2, dann sollten Sie haben
Wenn Sie installiert haben die neueste VS 2012 sind die Chancen, dass Sie bereits 4.0.2. Nur überprüfen Sie zuerst.
2) als Nächstes müssen Sie eine Instanz der
LocalDb
. Standardmäßig haben Sie eine Instanz, deren name ein einzigesv
- Zeichen, gefolgt von der LocalDB-release-version-Nummer im format xx.x. Zum Beispielv11.0
stellt SQL Server 2012. Automatische Instanzen sind standardmäßig öffentlich. Sie können auch benannte Instanzen, die privat sind. Benannten Instanzen bieten eine Isolierung von anderen Instanzen und kann die Leistung verbessern, indem die Verringerung Ressourcenkonflikte mit anderen Datenbank-Benutzer. Sie können überprüfen Sie den status der Instanzen, die mit demSqlLocalDb.exe
- Dienstprogramm (führen Sie es von der Kommandozeile aus).3) Neben Ihrem Verbindungs-string sollte so Aussehen:
oder
aus dem code. Sie sind beide die gleichen. Beachten Sie die zwei
\\
erforderlich, da\v
und\t
bedeutet, dass Sonderzeichen. Beachten Sie auch, dass das, was erscheint, nachdem(localdb)\\
ist der name der LocalDb-Instanz.v11.0
ist die Standarddatenbank für öffentliche Instanz,test
ist etwas, was ich manuell angelegt haben, der die private.Wenn Sie eine Datenbank (.mdf-Datei) schon:
Wenn Sie nicht über eine Sql Server-Datenbank:
Und Sie können erstellen Sie Ihre eigene Datenbank programmatisch:
a) um es zu speichern in der Standard-Lage mit Standard-Einstellung:
b) speichern Sie in einem bestimmten Ort mit Ihren eigenen benutzerdefinierten Einstellungen:
Und ausführen!
Eine Beispiel-Tabelle können in die Datenbank geladen werden mit etwas wie:
Beachten Sie, dass
SqlLocalDb.exe
Dienstprogramm nicht geben Ihnen Zugang zu Datenbanken, die Sie GESONDERT benötigensqlcmd
Dienstprogramm, das ist traurig..EDIT: verschoben position von Semikolon sonst Fehler auftreten würde, wenn der code kopiert und eingesetzt wurde,
InformationsquelleAutor der Antwort nawfal
Installierte ich das erwähnt .Net 4.0.2 update, aber ich habe die gleiche Fehlermeldung, nämlich:
Überprüfte ich die SqlLocalDb über die Konsole wie folgt:
Dies bedeutet, dass SqlLocalDb installiert ist und korrekt ausgeführt werden. Also, was war der Grund, dass ich es konnte keine Verbindung zu SqlLocalDB über .Net-code mit diesem connectionstring:
Server=(LocalDB)\v11.0;Integrated Security=true;
?Dann merkte ich, dass mein Programm kompiliert wurde DotNet framework 3.5 aber SqlLocalDb funktioniert nur für DotNet 4.0.
Nach Korrektur dieser, wurde das problem gelöst.
InformationsquelleAutor der Antwort Eduardo Fernandes
Ich hatte das gleiche problem für ein bisschen.
Ich bemerkte, dass ich hatte:
Indem Sie einfach ein back-slash es das problem bei mir gelöst:
InformationsquelleAutor der Antwort SpiritBH
Dies ist ein ziemlich Alter thread, aber da war ich der Neuinstallation meines Visual Studio 2015 Community heute, ich dachte, ich könnte einige Informationen, was den Einsatz auf VS2015, oder was die Arbeit im Allgemeinen.
Sehen, welche Instanzen installiert wurden, standardmäßig, Typ
sqllocaldb info
innerhalb einer Eingabeaufforderung. Auf meinem Rechner, bekomme ich zwei Instanzen, die erste benanntMSSQLLocalDB
.Können Sie auch eine neue Instanz erstellen, wenn Sie es wünschen, mit
sqllocaldb create "some_instance_name"
aber die Voreinstellung funktioniert wunderbar:InformationsquelleAutor der Antwort Groo
In Sql Server 2008 R2-Datenbank-Dateien können Sie eine Verbindung mit
nur, aber in sql Server 2012 können Sie dieses verwenden:
und es hing auf Ihrem
.mdf
.ldf
version.für die Suche nach programmicaly ich benutze diese Methode, erläutert in diesem post
InformationsquelleAutor der Antwort yeye
Installieren Sie Dot Net 4.0.2 oder von oben, wie erwähnt hier.
4.0 bits nicht verstehen, die syntax von LocalDB
Siehe diese Frage hier
Können Sie Download der update hier
InformationsquelleAutor der Antwort Steve
Dies ist für die anderen, die mit mir gekämpft haben und wie ich diese zu arbeiten....Ich verlor mehr als einen halben Tag auf eine scheinbar triviale Sache...
Wenn Sie möchten, verwenden Sie SQL Express 2012 LocalDB von VS2010 müssen Sie diesen patch installiert wurden
http://www.microsoft.com/en-us/download/details.aspx?id=27756
Nur, wie bereits erwähnt, in den Kommentaren oben, ich hatte auch Microsoft .NET Framework Version 4.0.30319 SP1Rel und seit seinem erwähnten überall, die Sie benötigen "Framework 4.0.2 oder höher" ich dachte, ich bin gut zu gehen...
Allerdings, wenn ich explizit heruntergeladen, 4.0.2 patch und installiert, ich habe es funktioniert....
InformationsquelleAutor der Antwort Arif Eqbal
Habe ich Verbindungszeichenfolge
Server=(localdb)\v11.0;Integrated Security=true;Database=DB1;
und sogar ein .NET 3.5 Programm verbindet und ausführen von SQL erfolgreich.
Aber viele Leute sagen .NET 4.0.2 oder 4.5 erforderlich ist.
InformationsquelleAutor der Antwort linquize