webentwicklung-frage-antwort-db.com.de

Herstellen einer Verbindung zu LocalDB in Visual Studio Server Explorer

Ich kann nicht glauben, dass ich nach einer Stunde der Suche keine funktionierende Lösung dafür finden konnte. Ich folge diesem Artikel auf Entity Framework 6.0, das eine einfache Einführung in Code First gibt. Ich habe das Projekt erstellt und das neueste EF Nuget-Paket installiert, damit das Projekt kompiliert werden kann. Ich habe außerdem überprüft, ob Microsoft SQL Server 2012 Express LocalDB installiert ist, das mit Visual Studio 2013 geliefert wurde. Auf meinem lokalen Computer sind keine weiteren SQL-Instanzen installiert. Das Programm wird ausgeführt und Einträge werden zur Datenbank hinzugefügt und in der Konsole ausgegeben. Aber wenn der Artikel "check your localdb" sagt, sagt er nicht wie! Ich sehe keine ".mdf" - oder ".ldf" -Dateien, die im Projektordner erstellt wurden. Ich habe alle Möglichkeiten ausprobiert, um den Server Explorer von Visual Studio mit LocalDB zu verbinden. Der Assistent kann (localdb) nicht finden oder kann keinen Anbieter im Server-Explorer finden, der eine Verbindungszeichenfolge wie (localdb)\v11.0;Integrated Security=true; akzeptiert. Ich habe gesehen, dass dies an mehreren Stellen in StackOverflow gefragt wurde, aber keine Antwort funktioniert oder als Antwort markiert ist. Bitte helfen Sie, das muss nicht so frustrierend sein!

Was sind die Schritte, um Visual Studio Server Explorer mit LocalDB zu verbinden?

221
orad

OK, antworte auf meine eigene Frage.

Schritte zum Verbinden von LocalDB mit Visual Studio Server Explorer

  1. Öffnen Sie die Eingabeaufforderung
  2. SqlLocalDB.exe start v11.0 ausführen
  3. SqlLocalDB.exe info v11.0 ausführen
  4. Kopieren Sie das Name der Instanzpipe, das mit np:\... beginnt.
  5. Wählen Sie in Visual Studio WERKZEUGE> Mit Datenbank verbinden ...
  6. Geben Sie als Servername (localdb)\v11.0 ein. Wenn dies nicht funktioniert hat, verwenden Sie den zuvor kopierten Instanz-Pipe-Namen. Sie können dies auch verwenden, um eine Verbindung mit SQL Management Studio herzustellen.
  7. Wählen Sie die Datenbank in der nächsten Dropdown-Liste aus
  8. OK klicken

enter image description here

250
orad

In Visual Studio 2012 musste ich nur Folgendes eingeben:

(localdb)\v11.0

Visual Studio 2015 und Visual Studio 2017 geändert in:

(localdb)\MSSQLLocalDB

als Servername beim Hinzufügen einer Microsoft SQL Server Data -Quelle in:

View/Server Explorer/(Right click) Data Connections/Add Connection

und dann wurden die Datenbanknamen aufgefüllt. Ich musste nicht alle anderen Schritte in der akzeptierten Antwort ausführen, obwohl es schön wäre, wenn der Servername automatisch im Kombinationsfeld Servername verfügbar wäre.

Sie können auch die auf Ihrem Computer verfügbaren LocalDB-Datenbanknamen durchsuchen, indem Sie Folgendes verwenden:

View/SQL Server Object Explorer.
263
RationalDev

Wählen Sie in:

  1. Datenquelle: Microsoft SQL Server (SqlClient)
  2. Servername: (localdb)\MSSQLLocalDB
  3. Melden Sie sich am Server an: Use Windows Authentication

Klicken Sie auf die Schaltfläche Aktualisieren, um den Datenbanknamen abzurufen :)

Screenshot

64
Kaps

Verwenden Sie stattdessen SQL Server Object Explorer (SSOX)

Im Gegensatz zu den anderen Antworten verwendet dieser Ansatz:
- Keine besonderen Befehle.
- Keine komplizierten Konfigurationen.
Verwenden Sie einfach SQL Server Object Explorer

Es ist ziemlich einfach ...

  • Öffnen Sie im Menü AnsichtSQL Server-Objekt-Explorer.

one

  • Klicken Sie mit der rechten Maustaste auf die Tabelle {YourTableName}> View Designer

two

Getan.

19
Svek

Es hat bei mir funktioniert.

  1. Öffnen Sie die Eingabeaufforderung
  2. Führen Sie "SqlLocalDB.exe start" aus
  3. Systemantwort "LocalDB-Instanz" mssqllocaldb "gestartet."
  4. In VS , View/Server Explorer/(Rechtsklick) Datenverbindungen/Verbindung hinzufügen
    • Datenquelle: Microsoft SQL Server (SqlClient)
    • Servername: (localdb)\MSSQLLocalDB
    • Melden Sie sich am Server an: Verwenden Sie die Windows-Authentifizierung
  5. Drücken Sie auf "Verbindung testen" und dann auf OK.
16
Ader Hwang

Das Folgende funktioniert mit Visual Studio 2017 Community Edition unter Windows 10 mit SQL Server Express 2016.

Öffnen Sie eine PowerShell, und überprüfen Sie mithilfe von SqlLocalDB.exe info, wie sie heißt und ob sie mit SqlLocalDB.exe info NAME ausgeführt wird. So sieht es auf meinem Computer aus:

> SqlLocalDB.exe info
MSSQLLocalDB
> SqlLocalDB.exe info MSSQLLocalDB
Name:               mssqllocaldb
Version:            13.0.1601.5
Shared name:
Owner:              DESKTOP-I4H3E09\simon
Auto-create:        Yes
State:              Running
Last start time:    4/12/2017 8:24:36 AM
Instance pipe name: np:\\.\pipe\LOCALDB#EFC58609\tsql\query
>

Wenn es nicht läuft, müssen Sie es mit SqlLocalDB.exe start MSSQLLocalDB starten. Wenn es läuft, sehen Sie den Instance pipe name:, der mit np:\\ beginnt. Kopieren Sie die Named Pipe-Zeichenfolge. Öffnen Sie in VS2017 die Ansicht Server Explorer und erstellen Sie eine neue Verbindung vom Typ Microsoft SQL Server (SqlClient) (lassen Sie sich nicht von den anderen Dateitypen täuschen, für die Sie den vollständigen Verbindungstyp wünschen), und setzen Sie Server name: auf Der Name der Instanzpipe, den Sie aus PowerShell kopiert haben.

Außerdem habe ich als Connect to database dieselbe Datenbank festgelegt, die sich in der Verbindungszeichenfolge befand, die in meinem mit dotnet ef database update eingerichteten Dotnet Core/Entity Framework Core-Projekt verwendet wurde.

Sie können sich mit dem sqlcmd und der Named-Pipe-Zeichenfolge anmelden und eine Datenbank erstellen:

sqlcmd -S np:\\.\pipe\LOCALDB#EFC58609\tsql\query 1> create database EFGetStarted.ConsoleApp.NewDb; 2> GO

Anweisungen zum Erstellen eines Benutzers für Ihre Anwendung finden Sie unter https://docs.Microsoft.com/en-us/sql/tools/sqllocaldb-utility

8
simbo1905

Visual Studio 2015 RC, hat LocalDb 12 installiert, ähnliche Anweisungen wie zuvor, aber es sollte nicht erforderlich sein, 'magic' zu kennen, bevor dies verwendet werden kann, sollte die Standardinstanz aktiviert worden sein ... Rant complete, no for solution :

cmd> sqllocaldb start

Welches wird angezeigt

LocalDB instance "MSSQLLocalDB" started.

Ihr Instanz Name kann abweichen. Gehen Sie in beide Richtungen zu VS und öffnen Sie den Server-Explorer. Klicken Sie mit der rechten Maustaste auf Datenverbindungen, wählen Sie Hinzufügen und dann SQL Server. Geben Sie den Servernamen ein:

(localdb)\MSSQLLocalDB

Klicken Sie ohne Eingabe eines DB-Namens auf "Verbindung testen".

7
OzBob

Fix funktioniert nicht.

Genau wie in der Beispielabbildung bieten alle diese Schritte nur Zugriff auf "System" -Datenbanken und keine Option zum Auswählen vorhandener Benutzerdatenbanken, auf die Sie zugreifen möchten.

Die Lösung für den Zugriff auf eine lokale Microsoft SQL Server-Instanz (nicht Express Edition) befindet sich auf der SQL Server-Seite:

  1. Öffne den Run-Dialog (WinKey + R)
  2. Typ: "services.msc"
  3. Wählen Sie SQL Server Browser
  4. Klicken Sie auf Eigenschaften
  5. Ändern Sie "disabled" in "Manual" oder "Automatic"
  6. Wenn die Schaltfläche "Start" aktiviert wird, klicken Sie darauf.

Getan! Jetzt können Sie Ihren lokalen SQL Server aus der Liste Servername in den Verbindungseigenschaften auswählen.

6
user3285866

Führen Sie den CMD als Administrator aus.

  1. aus dem Startmenü 'cmd' - warten Sie darauf, dass es gefunden wird.
  2. Klicken Sie mit der rechten Maustaste auf cmd und wählen Sie als Administrator öffnen
  3. geben Sie Folgendes ein: cd C:\Programme\Microsoft SQL Server\120\Tools\Binn
  4. typ: SqlLocalDB Start
  5. geben Sie jetzt Folgendes ein: SqlLocalDB info
  6. Zeigt die laufenden verfügbaren SQL-Instanzen an. Wählen Sie aus, was Sie möchten.
  7. um mehr über den Instanztyp zu erfahren: SqlLocalDB info instanceName

  8. jetzt können Sie von VS aus Ihre Verbindung einrichten. In VS , Ansicht/Server-Explorer/(Rechtsklick) Datenverbindungen/Verbindungsdatenquelle hinzufügen: Microsoft SQL Server (SqlClient) Servername: (localdb)\MSSQLLocalDB Melden Sie sich am Server an: Verwenden Sie Windows Authentifizierung Drücken Sie auf "Verbindung testen" und dann auf OK.

  9. job erledigt

4
guestDoug

In Visual Studio 2017 gehen Sie am schnellsten zu Extras -> SQL Server -> Neue Abfrage. Wählen Sie aus Lokale Datenbanken und unten den gewünschten Datenbanknamen.

Alternativer Weg

Der Name des Visual Studio 2017-Servers lautet:

(localdb)\MSSQLLocalDB

Fügen Sie die neue Verbindung über das Menü Extras -> Mit Datenbank verbinden ... hinzu.

3
Samuel

Ich habe die obigen Schritte ausgeführt, aber ich habe vergessen, die SQL Server 2014 LocalDB vor der Visual Studio 2015-Konfiguration zu installieren.

Meine Schritte sind wie folgt:

  1. Installieren Sie die SQL Server 2014 LocalDB.
  2. Öffnen Sie Visual Studio 2015 und dann SQL Server Object Explorer;
  3. Suchen Sie Ihre LocalDB unter dem SQL Server-Tag.

Hoffe das hilft jemandem.

1
Mondi

Szenario: Windows 8.1, VS2013 Ultimate, SQL Express installiert und ausgeführt, SQL Server-Browser deaktiviert. Das hat bei mir funktioniert:

  1. Zuerst habe ich den SQL Server Browser unter Dienste aktiviert.
  2. In Visual Studio: Öffnen Sie die Package Manager-Konsole und geben Sie Folgendes ein: Enable-Migrations; Geben Sie dann Enable-Migrations -ContextTypeName YourContextDbName ein, mit dem der Migrationsordner in VS erstellt wurde.
  3. Im Ordner Migrations finden Sie die Datei "Configuration.cs". Aktivieren Sie die automatische Migration durch: AutomaticMigrationsEnabled = true;
  4. Führen Sie Ihre Anwendung erneut aus, die Umgebung erstellt eine DefaultConnection und Sie sehen die neuen Tabellen aus Ihrem Kontext. Diese neue Verbindung verweist auf die localdb. Die erstellte Verbindungszeichenfolge zeigt: Datenquelle = (LocalDb)\v11.0 ... (weitere Parameter und Pfad zur erstellten MDF-Datei)

Sie können jetzt eine neue Verbindung mit dem Servernamen erstellen: (LocalDb)\v11.0 (drücken Sie "Aktualisieren") Verbindung zu einer Datenbank herstellen: Wählen Sie Ihre neue Datenbank in der Dropdown-Liste aus.

Ich hoffe, es hilft.

0
Armando S