Herstellen einer Verbindung mit einer Datenbank in Visual Studio

Die Schritte in diesem Artikel zeigen, wie Sie eine Verbindung mit einer Datenquelle in der Visual Studio-IDE herstellen. Die Datenquelle kann eine lokale Datenbank, ein Onlinedatendienst oder eine aus einer .mdf-Datei geöffnete Datenbank sein. Arbeiten Sie direkt mit Ihren Daten in Visual Studio. Sie können Abfragen ausführen, Daten bearbeiten, Tabellen und andere Schemaeigenschaften erstellen und bearbeiten sowie gespeicherte Prozeduren und Funktionen, Trigger usw. bearbeiten. Diese Funktionen sind unabhängig von der verwendeten Programmiersprache oder .NET-Version.

Server-Explorer und SQL Server-Objekt-Explorer

Sie können eine Verbindung mit einer Datenbank oder einem Dienst herstellen, eine LocalDB-Datenbank aus einer .mdf-Datei öffnen und Tabellen und Datenzeilen anzeigen und bearbeiten, indem Sie den Server-Explorer oder SQL Server-Objekt-Explorer verwenden. Die Funktionen dieser Fenster überlappen sich zu einem gewissen Grad. Die grundlegenden Unterschiede sind:

  • Server-Explorer

    Standardmäßig in Visual Studio installiert. Kann verwendet werden, um Verbindungen zu testen und SQL Server-Datenbanken, andere Datenbanken, die einen ADO.NET-Anbieter installiert haben, und einige Azure-Dienste anzuzeigen. Zeigt auch Objekte auf niedriger Ebene an, z. B. Systemleistungsindikatoren, Ereignisprotokolle und Nachrichtenwarteschlangen. Wenn eine Datenquelle keinen ADO.NET-Anbieter aufweist, wird sie hier nicht angezeigt. Sie können sie aber weiterhin über Visual Studio verwenden, indem Sie programmgesteuert eine Verbindung herstellen.

  • Cloud-Explorer

    Installieren Sie dieses Fenster manuell als Visual Studio-Erweiterung aus Visual Studio Marketplace. Bietet spezielle Funktionen zum Untersuchen und Herstellen einer Verbindung mit Azure-Diensten.

  • SQL Server-Objekt-Explorer

    Installiert mit SQL Server Data Tools und sichtbar unter dem Menü Ansicht. Wenn er dort nicht angezeigt wird, wechseln Sie in der Systemsteuerung zu Programme und Funktionen, suchen Sie „Visual Studio“, und wählen Sie dann Ändern aus, um das Installationsprogramm erneut auszuführen, nachdem Sie das Kontrollkästchen für SQL Server Data Tools aktiviert haben. Verwenden Sie SQL Server-Objekt-Explorer, um SQL-Datenbanken anzuzeigen (wenn sie über einen ADO.NET-Anbieter verfügen), neue Datenbanken zu erstellen, Schemas zu ändern, gespeicherte Prozeduren zu erstellen, Verbindungszeichenfolgen abzurufen, die Daten anzuzeigen und vieles mehr. SQL-Datenbanken, für die kein ADO.NET-Anbieter installiert ist, werden hier nicht angezeigt, Sie können aber weiterhin programmgesteuert eine Verbindung mit ihnen herstellen.

Sie können eine Verbindung mit einer Datenbank oder einem Dienst herstellen oder eine LocalDB-Datenbank aus einer .mdf-Datei öffnen und Tabellen und Datenzeilen anzeigen und bearbeiten, indem Sie den Server-Explorer oder SQL Server-Objekt-Explorer verwenden. Die Funktionen dieser Fenster überlappen sich zu einem gewissen Grad. Die grundlegenden Unterschiede sind:

  • Server-Explorer

    Standardmäßig in Visual Studio installiert. Kann verwendet werden, um Verbindungen zu testen und SQL Server-Datenbanken, andere Datenbanken, die einen ADO.NET-Anbieter installiert haben, und einige Azure-Dienste anzuzeigen. Zeigt auch Objekte auf niedriger Ebene an, z. B. Systemleistungsindikatoren, Ereignisprotokolle und Nachrichtenwarteschlangen. Wenn eine Datenquelle keinen ADO.NET-Anbieter aufweist, wird sie hier nicht angezeigt. Sie können sie aber weiterhin über Visual Studio verwenden, indem Sie programmgesteuert eine Verbindung herstellen.

  • SQL Server-Objekt-Explorer

    Installiert mit SQL Server Data Tools und sichtbar unter dem Menü Ansicht. Wenn er dort nicht angezeigt wird, wechseln Sie in der Systemsteuerung zu Programme und Funktionen, suchen Sie „Visual Studio“, und wählen Sie dann Ändern aus, um das Installationsprogramm erneut auszuführen, nachdem Sie das Kontrollkästchen für SQL Server Data Tools aktiviert haben. Verwenden Sie SQL Server-Objekt-Explorer, um SQL-Datenbanken anzuzeigen (wenn sie über einen ADO.NET-Anbieter verfügen), neue Datenbanken zu erstellen, Schemas zu ändern, gespeicherte Prozeduren zu erstellen, Verbindungszeichenfolgen abzurufen, die Daten anzuzeigen und vieles mehr. SQL-Datenbanken, für die kein ADO.NET-Anbieter installiert ist, werden hier nicht angezeigt, Sie können aber weiterhin programmgesteuert eine Verbindung mit ihnen herstellen.

Hinzufügen einer Verbindung in Server-Explorer

Um eine Verbindung mit der Datenbank zu erstellen, klicken Sie auf das Symbol Mit Datenbank verbinden in Server-Explorer, oder klicken Sie mit der rechten Maustaste in Server-Explorer auf den Knoten Datenverbindungen, und wählen Sie Verbindung hinzufügen aus. Von hier aus können Sie eine Verbindung mit einer LocalDB-Datenbank herstellen, die aus einer .mdf-Datei geöffnet wurde, und eine Verbindung mit einer Datenbank auf einem anderen Server, einem SharePoint-Dienst oder einem Azure-Dienst herstellen.

Screenshot: Server-Explorer-Symbol „Neue Verbindung“

Screenshot: Server-Explorer-Symbol „Mit Datenbank verbinden“

Dadurch wird das Dialogfeld Verbindung hinzufügen angezeigt. Hier haben wir den Namen der SQL Server-LocalDB-Instanz, (localdb)\MSSqlLocalDB, eingegeben, die normalerweise mit Visual Studio installiert wird.

Wenn Sie keinen Zugriff auf eine andere Datenbank haben und LocalDB nicht installiert ist, können Sie LocalDB über den Visual Studio-Installer, im Rahmen der Workload Datenspeicher und Verarbeitung, der Workload ASP.NET und Webentwicklung oder als einzelne Komponente installieren. Weitere Informationen finden Sie im Artikel Ändern von Visual Studio durch Hinzufügen oder Entfernen von Arbeitsauslastungen und Komponenten.

Screenshot: Dialogfeld „Neue Verbindung hinzufügen“

Screenshot: Dialogfeld „Neue Verbindung hinzufügen“

In Visual Studio 2022 ab Version 17.8 enthält das Dialogfeld zwei neue Optionen (Verschlüsseln und Vertrauenserverzertifikat), die in die Verbindungszeichenfolge wechseln und sich auf die Sicherheitseinstellungen auswirken, die für Ihre Verbindung verwendet werden. Diese Optionen unterstützen die strengeren Sicherheitsfeatures des Microsoft.Data.SqlClient 4.0-Datenbanktreibers. Siehe Änderungen im Verschlüsselungs- und Zertifikatüberprüfungsverhalten.

Die empfohlene Sicherheitspraxis besteht darin, Verschlüsselung zu verwenden und ein Zertifikat auf dem Server zu installieren. Siehe Verschlüsselung und Zertifikatüberprüfung. Um diese erweiterte Sicherheit zu deaktivieren, legen Sie Verschlüsseln auf Optional (False) fest.

Wenn Sie Verschlüsseln für Visual Studio ab Version 17.8, das die Version 4.0 des Microsoft.Data.SqlClient verwendet, nicht festlegen, ist die Verschlüsselung standardmäßig obligatorisch. Dies ist eine bahnbrechende Änderung des Verhaltens gegenüber früheren Versionen. Wenn Sie kein gültiges Zertifikat besitzen oder kein Trust Server-Zertifikat auswählen, wird die folgende Fehlermeldung angezeigt:

Die Verschlüsselung wurde für diese Verbindung aktiviert. Überprüfen Sie Ihre SSL- und Zertifikatkonfiguration für das SQL Server-Ziel, oder aktivieren Sie im Verbindungsdialogfeld „Serverzertifikat vertrauen“.

Zusätzliche Informationen

Eine Verbindung mit dem Server wurde erfolgreich hergestellt, aber dann trat während des Anmeldevorgangs ein Fehler auf. (Anbieter: SSL-Anbieter, Fehler: 0 – Die Zertifikatkette wurde von einer Zertifizierungsstelle ausgestellt, die nicht vertrauenswürdig ist.) (Microsoft SQL Server)

Authentifizierungstypen

Sie können aus einer Vielzahl von Authentifizierungstypen wählen, die eine Vielzahl von Szenarien abdecken. Ausführliche Informationen finden Sie unter Authentifizierungstypen.

In Visual Studio ab Version 17.8 wurden die Namen der Authentifizierungsoptionen für SQL-Verbindungen aktualisiert, um die Namensänderung von Active Directory zu Microsoft Entra widerzuspiegeln.

Screenshot mit Authentifizierungstypen für Visual Studio 17.8 und höher.

Öffnen einer MDF-Datenbankdatei

Das .mdf der Datei steht für Master Database File. Sie ist eine SQL-Datenbank, die in eine Datei gepackt ist. Diesen Dateien ist eine .ldf (Protokolldatenbankdatei) zugeordnet, die die Protokolle für diese Datenbank enthält. Sie können neue Datenbanken erstellen, die in .mdf-Dateien gespeichert sind, indem Sie Ihrem Projekt ein dienstbasiertes Datenbankelement hinzufügen. Siehe Erstellen einer Datenbank und Hinzufügen von Tabellen.

Wenn Sie bereits über eine .mdf-Datei in Ihrem Projekt verfügen, können Sie mit der rechten Maustaste darauf klicken und Öffnen auswählen, um sie im Server-Explorer zu öffnen.

Führen Sie die folgenden Schritte aus, um eine .mdf-Datei zu öffnen, die sich nicht in Ihrem Projekt im Server-Explorer von Visual Studio befindet:

  1. Wählen Sie im Dialogfeld Verbindung hinzufügen unter Datenquelle die Option Microsoft SQL Server-Datenbankdatei (SqlClient) aus.

  2. Verwenden Sie die Schaltfläche Durchsuchen, um Ihre Masterdatenbankdatei (.mdf-Datei) zu suchen und auszuwählen, oder geben Sie den Pfad in das Feld Datenbankdateiname ein.

    Screenshot: Dialogfeld „Verbindung hinzufügen“ und Herstellen einer Verbindung mit einer SQL-Datenbank-Datei

  3. Wählen Sie die Authentifizierungsmethode aus.

  4. Testen Sie die Verbindung, und wählen Sie bei erfolgreicher Ausführung OK aus. Ein Knoten für die Datenbank wird im Server-Explorer geöffnet.

Ändern des Anbieters

Wenn die Datenquelle nicht ihren Vorstellungen entspricht, klicken Sie auf die Schaltfläche Ändern, um eine neue Datenquelle oder einen neuen ADO.NET-Datenanbieter auszuwählen. Der neue Anbieter fragt möglicherweise nach Ihren Anmeldeinformationen, je nachdem, wie Sie ihn konfiguriert haben.

Hinweis

Wenn Sie Visual Studio 2022 zum Herstellen einer Verbindung mit OLEDB- oder ODBC-Datenanbietern verwenden, müssen Sie beachten, dass Visual Studio 2022 jetzt ein 64-Bit-Prozess ist.

Dies bedeutet, dass einige der Datentools in Visual Studio keine Verbindung mit OLE DB- oder ODBC-Datenbanken mit 32-Bit-Datenanbietern herstellen können. Dazu zählen der Microsoft Access 32-Bit-OLE DB-Datenanbieter sowie andere 32-Bit-Anbieter von Drittanbietern.

Sie können 32-Bit-Anwendungen, die eine Verbindung mit OLE DB oder ODBC herstellen, weiterhin mit Visual Studio 2022 erstellen und ausführen. Wenn Sie jedoch Visual Studio-Datentools wie Server-Explorer, Datenquellen-Assistent oder DataSet-Designer verwenden müssen, benötigen Sie dazu eine frühere Version von Visual Studio, die noch ein 32-Bit-Prozess ist. Die letzte Version von Visual Studio, die ein 32-Bit-Prozess war, ist Visual Studio 2019.

Wenn Sie beabsichtigen, das Projekt in einen 64-Bit-Prozess zu konvertieren, müssen Sie die OLEDB- und ODBC-Datenverbindungen aktualisieren, um 64-Bit-Datenanbieter zu verwenden.

Wenn Ihre Anwendung Microsoft Access-Datenbanken verwendet und das Projekt in 64-Bit konvertieren kann, empfiehlt es sich, das 64-Bit-Microsoft Access-Datenbankmodul (Konnektivitätsmodul für Access, ACE) zu verwenden. Weitere Informationen finden Sie unter Microsoft OLE DB-Anbieter für Jet und ODBC-Treiber sind nur als 32-Bit-Versionen verfügbar.

Wenn Sie einen Datenanbieter von Drittanbietern verwenden, empfehlen wir Ihnen, sich mit Ihrem Anbieter in Verbindung zu setzen, um herauszufinden, ob er einen 64-Bit-Anbieter bereitstellt, bevor Sie das Projekt in 64-Bit konvertieren.

Screenshot: Ändern des ADO.NET-Datenanbieters

Screenshot: Ändern des ADO.NET-Datenanbieters

Testen der Verbindung

Nachdem Sie die Datenquelle ausgewählt haben, klicken Sie auf Verbindung testen. Wenn dies nicht erfolgreich ist, müssen Sie basierend auf der Dokumentation des Herstellers eine Problembehandlung durchführen.

Screenshot: Meldungsfeld „Testverbindung erfolgreich“

Screenshot: Meldungsfeld „Testverbindung erfolgreich“

Wenn der Test erfolgreich war, können Sie eine Datenquelle erstellen, ein Begriff aus Visual Studio, der eigentlich ein Datenmodell bedeutet, das auf der zugrunde liegenden Datenbank oder dem Dienst basiert.

Herstellen einer Verbindung mithilfe von SQL Server-Objekt-Explorer

Die Benutzererfahrung ist möglicherweise einfacher, wenn Sie SQL Server-Objekt-Explorerverwenden. Dadurch erhalten Sie ein Dialogfeld, in dem Sie mehr Hilfe beim lokalen Auffinden verfügbarer Datenbanken im lokalen Netzwerk und in Ihren Azure-Abonnements erhalten und einen Verlauf der zuletzt verwendeten Optionen bereitstellen.

Um über SQL Server-Objekt-Explorer auf das Dialogfeld „Verbinden“ zuzugreifen, klicken Sie auf die Symbolleistenschaltfläche SQL Server hinzufügen.

Screenshot: Schaltfläche „SQL Server hinzufügen“ von SQL Server-Objekt-Explorer

Das Dialogfeld „Verbinden“ wird angezeigt. Wählen Sie Ihren lokalen, Netzwerk- oder Azure SQL-Server und dann eine Datenbank aus. Geben Sie Anmeldeinformationen ein, und wählen Sie Verbinden aus.

Screenshot: Dialogfeld „Verbinden“ von SQL Server-Objekt-Explorer

Wenn Sie andere Einstellungen in Ihrer Verbindungszeichenfolge festlegen müssen, können Sie den Link Erweitert verwenden, der alle Einstellungen anzeigt. Wenn Sie beispielsweise eine Verbindung mit einer LocalDB-Datenbank herstellen möchten, die auf einer MDF-Datei basiert, wählen Sie Erweitert aus, und legen Sie dann die Eigenschaft AttachDbFilename fest.

Screenshot: Erweiterte Einstellungen

Nachdem Sie die Verbindung eingerichtet haben, werden der Server und die Datenbank im Fenster von SQL Server-Objekt-Explorer angezeigt.

Screenshot: Meldung „Verbindung erfolgreich hergestellt“

Von dort aus können Sie die Datenbank durchsuchen, Abfragen schreiben und ausführen, Daten, gespeicherte Prozeduren und Funktionen bearbeiten und andere Aktionen direkt in Visual Studio ausführen.

Nächste Schritte

Wenn Sie .NET Framework (nicht .NET Core oder .NET 5 oder höher) und Windows Forms oder WPF verwenden, können Sie das Fenster Datenquellen verwenden, um z. B. die Datenbindung für Steuerelemente in Windows Forms- und WPF-Anwendungen einzurichten. Weitere Informationen finden Sie unter Hinzufügen neuer Datenquellen. Mit diesen Tools können Sie schnell Windows-Anwendungen erstellen, die es Benutzern ermöglichen, Daten einzugeben, anzuzeigen und zu bearbeiten.

Wenn Sie .NET 5 oder höher, .NET Core oder ASP.NET Core verwenden, können Sie Ihre App mithilfe von verbundenen Diensten mit der Datenbank verbinden. Mithilfe von verbundenen Diensten können Sie problemlos eine lokale, von SQL LocalDB gehostete Entwicklungsdatenbank, einen in einem Container ausgeführten SQL Server oder eine lokale Instanz von SQL Server verwenden und dann zur Azure SQL-Datenbank wechseln, wenn Sie zur Bereitstellung in der Cloud bereit sind. Für .NET 5 oder höher, .NET Core und ASP.NET Core sollten Sie Entity Framework Core als Datenbankframework verwenden.