Arbeiten mit Daten in Visual Studio

In Visual Studio können Sie Anwendungen erstellen, die sich mit Daten jedes Formats in praktisch jedem Datenbankprodukt oder Dienst verbinden können – unabhängig davon, ob sie sich auf einem lokalen Computer, in einem lokalen Netzwerk oder in einer öffentlichen, privaten oder Hybrid Cloud befinden.

Bei Anwendungen in JavaScript, Python, PHP, Ruby oder C++ stellen Sie eine Verbindung mit Daten her, indem Sie wie gewohnt Bibliotheken abrufen und Code schreiben. Für .NET-Anwendungen stellt Visual Studio Tools bereit, mit denen Sie Datenquellen durchsuchen, Objektmodelle zum Speichern und Bearbeiten von Daten im Arbeitsspeicher erstellen sowie Daten an die Benutzeroberfläche binden können. Microsoft Azure bietet SDKs für .NET, Java, Node.js, PHP, Python, Ruby und mobile Apps sowie Tools in Visual Studio zum Herstellen einer Verbindung mit Azure Storage.

In den folgenden Listen sind nur einige der vielen Datenbank- und Speichersysteme aufgeführt, die in Visual Studio verwendet werden können. Die Microsoft Azure-Angebote sind Datendienste, die die gesamte Bereitstellung und Verwaltung des zugrunde liegenden Datenspeichers umfassen. Mithilfe der Workload Azure-Entwicklung in Visual Studio können Sie direkt über Visual Studio mit Azure-Datenspeichern arbeiten.

Workload „Azure-Entwicklung“

Die meisten anderen SQL- und NoSQL-Datenbankprodukte, die hier aufgeführt sind, können auf einem lokalen Computer, in einem lokalen Netzwerk oder in Microsoft Azure auf einem virtuellen Computer gehostet werden. Wenn Sie die Datenbank auf einem virtuellen Microsoft Azure-Computer hosten, sind Sie für die Verwaltung der Datenbank selbst verantwortlich.

Microsoft Azure

  • SQL-Datenbank
  • Azure Cosmos DB
  • Speicher (Blobs, Tabellen, Warteschlangen, Dateien)
  • SQL Data Warehouse
  • SQL Server Stretch Database
  • StorSimple
  • Und vieles mehr...

SQL

  • SQL Server 2005 – 2016 (einschließlich Express und LocalDB)
  • Firebird
  • MariaDB
  • MySQL
  • Oracle
  • PostgreSQL
  • SQLite
  • Und vieles mehr...

NoSQL

  • Apache Cassandra
  • CouchDB
  • MongoDB
  • NDatabase
  • OrientDB|
  • RavenDB
  • VelocityDB
  • Und vieles mehr...

Viele Datenbankanbieter und Drittanbieter unterstützen die Visual Studio-Integration über NuGet-Pakete. Sie können die Angebote auf nuget.org oder über den NuGet-Paket-Manager in Visual Studio (Tools>NuGet-Paket-Manager>NuGet-Pakete für Projektmappe verwalten) erkunden. Andere Datenbankprodukte werden als Erweiterung in Visual Studio integriert. Sie können diese Angebote im Visual Studio Marketplace durchsuchen oder zu Erweiterungen>Erweiterungen verwalten navigieren und dann im linken Bereich des Dialogfelds Online auswählen. Weitere Informationen finden Sie unter Kompatible Datenbanksysteme für Visual Studio.

Verbundene Dienste in Visual Studio vereinfachen das Hinzufügen von Datenbankunterstützung zu Ihren Projekten.

SQL Server-Szenarien werden über verbundene Dienste unterstützt:

  • Lokaler SQL Server. In diesem Szenario installieren Sie SQL Server in Ihrem lokalen Netzwerk und stellen eine Verbindung her.
  • SQL Server auf Ihrem lokalen Computer. In diesem Szenario installieren Sie SQL Server auf Ihrem lokalen Computer und stellen eine Verbindung her.
  • SQL Server Express LocalDB. Sie müssen außer Visual Studio nichts installieren und stellen einfach eine Verbindung her.
  • SQL Server Express LocalDB für Container. Sie installieren wie bei der vorherigen Option LocalDB nur Visual Studio, jedoch innerhalb eines lokalen Containers.
  • Azure SQL Server-Datenbank. In diesem Szenario stellen Sie eine Verbindung mit dem Dienst her, der live in Azure ausgeführt wird.

Für andere datenbezogene Technologien unterstützt Visual Studio 2022 Folgendes:

  • Azure-Speicher (lokal und remote)
  • Azure Cosmos DB (lokal und remote)
  • SQLite (nur lokal)
  • PostgreSQL für Container (nur lokal)
  • MongoDB für Container (nur lokal)

Neben verbundenen Diensten sind in den folgenden Listen nur einige der vielen Datenbank- und Speichersysteme aufgeführt, die in Visual Studio verwendet werden können. Die Microsoft Azure-Angebote sind Datendienste, die die gesamte Bereitstellung und Verwaltung des zugrunde liegenden Datenspeichers umfassen. Mithilfe der Workload Azure-Entwicklung in Visual Studio können Sie direkt über Visual Studio mit Azure-Datenspeichern arbeiten.

Workload „Azure-Entwicklung“

Die meisten anderen SQL- und NoSQL-Datenbankprodukte, die hier aufgeführt sind, können auf einem lokalen Computer, in einem lokalen Netzwerk oder in Microsoft Azure auf einem virtuellen Computer gehostet werden. Wenn Sie die Datenbank auf einem virtuellen Microsoft Azure-Computer hosten, sind Sie für die Verwaltung der Datenbank selbst verantwortlich.

Microsoft Azure

  • SQL Data Warehouse
  • SQL Server Stretch Database
  • StorSimple
  • Und vieles mehr...

SQL

  • Firebird
  • MariaDB
  • MySQL
  • Oracle
  • Und vieles mehr...

NoSQL

  • Apache Cassandra
  • CouchDB
  • MongoDB
  • NDatabase
  • OrientDB|
  • RavenDB
  • VelocityDB
  • Und vieles mehr...

Hinweis

Der erweiterte Support für SQL Server 2005 wurde am 12. April 2016 eingestellt. Es gibt keine Garantie, dass Datentools in Visual Studio 2015 und höher mit SQL Server 2005 weiterhin funktionieren. Weitere Informationen finden Sie in der Ankündigung zum Ende des Supports für SQL Server 2005.

.NET-Sprachen

Die in der Visual Studio-Dokumentation beschriebene Datenzugriffstechnologie verwendet ADO.NET. ADO.NET ist ein Framework für den Zugriff auf Legacydaten und wird für moderne Datenanwendungen nicht empfohlen. Es wird empfohlen, .NET Core oder .NET 5 und höher zu verwenden und Entity Framework Core für die Entwicklung des Datenzugriffs zu verwenden.

Bei ADO.NET handelt es sich um eine Reihe von Klassen, die eine Schnittstelle für den Zugriff auf jede beliebige Art von Datenquelle definieren, sowohl relationale als auch nicht relationale. Visual Studio bietet mehrere Tools und Designer, die mit ADO.NET arbeiten und Ihnen dabei helfen, eine Verbindung mit Datenbanken herzustellen, die Daten zu bearbeiten und sie für den Benutzer darzustellen. In der Dokumentation in diesem Abschnitt wird die Verwendung dieser Tools beschrieben. Sie können auch direkt mit den ADO.NET-Befehlsobjekten programmieren. Weitere Informationen zum direkten Aufrufen der ADO.NET-APIs finden Sie unter ADO.NET.

Eine Dokumentation zum Datenzugriff im Zusammenhang mit ASP.NET finden Sie unter Arbeiten mit Daten auf der ASP.NET-Website. Ein Tutorial zur Verwendung von Entity Framework mit ASP.NET Model View Controller (MVC) finden Sie unter Erste Schritte mit Entity Framework 6 Code First unter Verwendung von MVC 5.

UWP-Apps (Universelle Windows-Plattform) in C# oder Visual Basic können das Microsoft Azure SDK für .NET verwenden, um auf Azure Storage und andere Azure-Dienste zuzugreifen. Die Windows.Web.HttpClient-Klasse ermöglicht die Kommunikation mit jedem RESTful-Dienst. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit einem HTTP-Server mithilfe von Windows.Web.Http.

Für die Datenspeicherung auf dem lokalen Computer empfiehlt sich die Verwendung der SQLite-Bibliothek, die im gleichen Prozess wie die App ausgeführt wird. Wenn eine ORM-Ebene (Object-Relational Mapping, objektrelationale Zuordnung) erforderlich ist, können Sie Entity Framework verwenden. Weitere Informationen finden Sie unter Datenzugriff im Windows Developer Center.

Laden Sie unbedingt die aktuellen Azure SDK-Tools herunter, wenn Sie eine Verbindung mit Azure-Diensten herstellen.

Datenanbieter

Damit eine Datenbank in ADO.NET genutzt werden kann, muss sie über einen benutzerdefinierten ADO.NET-Datenanbieter verfügen oder andernfalls eine ODBC-Schnittstelle (Open Database Connectivity) oder OLE DB-Schnittstelle (Object Linking and Embedding Database) verfügbar machen. Microsoft stellt eine Liste von ADO.NET-Datenanbietern für SQL Server-Produkte sowie ODBC- und OLE DB-Anbieter bereit.

Hinweis

Wenn Sie Visual Studio verwenden, um mithilfe von OLE DB- oder ODBC-Datenanbietern eine Verbindung mit Datenbanken herzustellen, müssen Sie beachten, dass es sich bei allen Visual Studio-Versionen vor Visual Studio 2022 um 32-Bit-Prozesse handelt. Dies bedeutet, dass einige der Datentools in Visual Studio nur mithilfe von 32-Bit-Datenanbietern eine Verbindung mit OLE DB- oder ODBC-Datenbanken herstellen können. Dazu zählen der Microsoft Access 32-Bit-OLE DB-Datenanbieter sowie andere 32-Bit-Anbieter von Drittanbietern.

Wenn Sie Visual Studio 2022 zum Herstellen einer Verbindung mit Datenbanken verwenden, müssen Sie beachten, dass Visual Studio 2022 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.

Sie können 32-Bit-Anwendungen, die eine Verbindung mit OLE DB- oder ODBC-Datenbanken 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 das Projekt in einen 64-Bit-Prozess konvertieren möchten, empfiehlt sich die Verwendung des 64-Bit-Microsoft Access-Datenbankmoduls, das auch als Konnektivitätsmodul für Access bezeichnet wird. Weitere Informationen finden Sie unter Microsoft OLE DB-Anbieter für Jet und ODBC-Treiber sind nur als 32-Bit-Versionen verfügbar.

Datenmodellierung

In .NET haben Sie drei Möglichkeiten zum Modellieren und Bearbeiten von Daten im Arbeitsspeicher, nachdem Sie diese aus einer Datenquelle abgerufen haben:

Entity Framework: Die bevorzugte Microsoft ORM-Technologie. Sie können es verwenden, um relationale Daten als .NET-Objekte erster Klasse zu programmieren. Für neue Anwendungen sollte Entity Framework standardmäßig die erste Wahl sein, wenn ein Modell erforderlich ist. Es erfordert benutzerdefinierte Unterstützung vom zugrunde liegenden ADO.NET-Anbieter.

LINQ to SQL: Ein objektrelationaler Mapper (ORM) der früheren Generation. Er funktioniert gut für weniger komplexe Szenarien, befindet sich aber nicht mehr in der aktiven Entwicklung.

DataSets: Die älteste der drei Modellierungstechnologien. Sie ist in erster Linie für die schnelle Entwicklung von „Forms-over-Data“-Anwendungen konzipiert, in denen keine großen Datenmengen verarbeitet oder komplexe Abfragen oder Transformationen ausgeführt werden. Ein DataSet-Objekt besteht aus DataTable- und DataRow-Objekten, die SQL-Datenbankobjekten in logischer Hinsicht sehr viel ähnlicher sind als .NET-Objekte. Für relativ einfache Anwendungen, die auf SQL-Datenquellen beruhen, können DataSets noch immer eine gute Wahl sein.

Es ist nicht erforderlich, eine dieser Technologien zu verwenden. In einigen Szenarien, insbesondere wenn die Leistung von entscheidender Bedeutung ist, können Sie einfach ein DataReader-Objekt verwenden, um aus der Datenbank zu lesen, und die benötigten Werte in ein Auflistungsobjekt wie List<T> kopieren.

Systemeigenes C++

C++-Anwendungen, die eine Verbindung mit SQL Server herstellen, sollten in den meisten Fällen den Microsoft® ODBC-Treiber 13.1 für SQL Server verwenden. Wenn die Server verbunden sind, ist OLE DB erforderlich. In diesem Fall verwenden Sie SQL Server Native Client. Sie können direkt mit ODBC- oder OLE DB-Treibern auf andere Datenbanken zugreifen. ODBC ist derzeit die Standarddatenbankschnittstelle, die meisten Datenbanksysteme bieten jedoch benutzerdefinierte Funktionen, auf die nicht über die ODBC-Schnittstelle zugegriffen werden kann. OLE DB ist eine ältere COM-Datenzugriffstechnologie, die weiterhin unterstützt, für neue Anwendungen aber nicht empfohlen wird. Weitere Informationen finden Sie unter Datenzugriff in Visual C++.

C++-Programme, die REST-Dienste nutzen, können das C++-REST SDK verwenden.

C++-Programme, die mit Microsoft Azure Storage arbeiten, können den Microsoft Azure Storage-Client verwenden.

Datenmodellierung: Visual Studio stellt keine ORM-Ebene für C++ bereit. ODB ist ein beliebter Open-Source-ORM für C++.

Weitere Informationen zum Herstellen einer Verbindung mit Datenbanken über C++-Apps finden Sie unter Visual Studio-Datentools für C++. Weitere Informationen zu Legacy-Datenzugriffstechnologien von Visual C++ finden Sie unter Datenzugriff.

JavaScript

JavaScript in Visual Studio ist eine der Hauptprogrammiersprachen zum Erstellen von plattformübergreifenden Apps, UWP-Apps, Clouddiensten, Websites und Web-Apps. Sie können Bower, Grunt, Gulp, npm und NuGet in Visual Studio verwenden, um Ihre bevorzugten JavaScript-Bibliotheken und -Datenbankprodukte zu installieren. Stellen Sie eine Verbindung mit Azure-Speicher und -Diensten her, indem Sie SDKs von der Azure-Website herunterladen. Edge.js ist eine Bibliothek, die serverseitiges JavaScript (Node.js) mit ADO.NET-Datenquellen verbindet.

Python

Installieren Sie Python-Unterstützung in Visual Studio, um Python-Anwendungen zu erstellen. Die Azure-Dokumentation enthält mehrere Tutorials zum Herstellen einer Verbindung mit Daten, darunter die folgenden:

Microsoft KI-Plattform: Bietet eine Einführung in die intelligente Microsoft-Cloud, einschließlich Cortana Intelligence Suite und Unterstützung für das Internet der Dinge (Internet of Things, IoT).

Microsoft Azure Storage: Beschreibt Azure Storage und die Erstellung von Anwendungen mithilfe von Azure-Blobs, -Tabellen, -Warteschlangen und -Dateien.

Azure SQL-Datenbank: Beschreibt das Herstellen einer Verbindung mit Azure SQL-Datenbank, einem relationalen Database-as-a-Service-System.

SQL Server Data Tools: Beschreibt die Tools, die das Entwerfen, Untersuchen, Testen und Bereitstellen von Anwendungen und Datenbanken mit Datenverbindung vereinfachen.

ADO.NET: Beschreibt die ADO.NET-Architektur und die Verwendung der ADO.NET-Klassen zum Verwalten von Anwendungsdaten und Interagieren mit Datenquellen und XML.

ADO.NET Entity Framework: Beschreibt das Erstellen von Datenanwendungen, die Entwicklern das Programmieren anhand eines konzeptionellen Modells statt direkt für eine relationale Datenbank ermöglichen.

WCF Data Services 4.5: Beschreibt die Verwendung von WCF Data Services zum Bereitstellen von Datendiensten, die das Open Data Protocol (OData) implementieren, im Internet oder in einem Intranet.

Daten in Office-Projektmappen: Enthält Links zu Themen, die die allgemeine Funktionsweise von Daten in Office-Projektmappen erläutern. Dazu gehören Informationen über schemaorientierte Programmierung, Datenzwischenspeicherung und serverseitigen Datenzugriff.

LINQ (Language Integrated Query): Beschreibt die in C# und Visual Basic integrierten Abfragefunktionen sowie das allgemeine Abfragemodell für relationale Datenbanken, XML-Dokumente, DataSets und speicherinterne Auflistungen.

XML-Tools in Visual Studio: Erläutert die Arbeit mit XML-Daten, das Debuggen von XSLT, .NET-XML-Features und die Architektur von XML Query.

XML-Dokumente und -Daten: Bietet eine Übersicht über einen umfassenden und integrierten Satz von Klassen, die mit XML-Dokumenten und -Daten in .NET verwendet werden können.