Verbindungsmodule für Microsoft SQL-Datenbank
Dieser Artikel bietet Links zum Download von Verbindungsmodulen oder Treibern, die Ihre Clientprogramme für die Interaktion mit Datenbanken, Azure SQL-Datenbank und Azure SQL Managed Instance verwenden können. Treiber sind für verschiedene Programmiersprachen verfügbar und können unter folgenden Betriebssystemen ausgeführt werden:
- Linux
- macOS
- Windows
Konflikt zwischen objektorientierter Programmierung und relationalem Datenbankformat:
Relationales Format: Clientprogramme, die in einer objektorientierten Programmiersprache (Object-Oriented Programming, OOP) geschrieben sind, verwenden häufig SQL-Treiber, die die abgefragten Daten in einem Format zurückgeben, das eher relational als objektorientiert ist. C# mit ADO.NET ist ein Beispiel hierfür. Der Konflikt zwischen OOP und relationalem Format führt zuweilen dazu, dass OOP-Code schwieriger zu schreiben und zu verstehen ist.
ORM: Andere Treiber oder Frameworks geben die abgefragten Daten im OOP-Format zurück, um diesen Konflikt zu vermeiden. Diese Treiber erwarten, dass Klassen so definiert wurden, dass sie den Datenspalten bestimmter SQL-Tabellen entsprechen. Diese Treiber führen dann eine objektrelationale Zuordnung (Object-Relational Mapping, ORM) aus, um die abgefragten Daten als Instanz einer Klasse zurückzugeben. Das Microsoft Entity Framework (EF) für C# und Hibernate für Java sind zwei Beispiele hierfür.
Im vorliegenden Artikel sind diesen beiden Arten von Verbindungstreibern zwei separate Abschnitte gewidmet.
Treiber für den relationalen Zugriff
Treiber für den ORM-Zugriff
In der folgenden Tabelle sind Beispiele für ORM-Frameworks aufgelistet, die Clientanwendungen zum Herstellen einer Verbindung mit Microsoft SQL Server-Datenbanken verwenden können.
Sprache | Download des ORM-Treibers |
---|---|
C# | Entity Framework Core Entity Framework (6.x oder höher) |
Go | GORM |
Java | Hibernate ORM |
PHP | Eloquent ORM, enthalten in der Laravel-Installation |
Node.js | Sequelize ORM Prisma |
Python | Django SQL Server Back-End für Django |
Ruby | Ruby on Rails |