Das Microsoft .NET Framework, das Grundlage für die Windows PowerShell 1.0 bis 5.0 ist, bietet seit seiner ersten Version die Komponente ADO.NET (ActiveX Data Objects .NET) für den Datenbankzugriff. In ".NET Core", das Basis für Windows PowerShell Core 5.1 sowie die PowerShell 6.0 ist, gibt es seit .NET Core 2.0 ebenfalls weite Teile des ursprünglichen ADO.NET.
ADO.NET ist eine providerbasierte Softwarekomponente, geschaffen für Software-Entwickler – nicht für Administratoren. In der Dokumentation [1] finden sich daher auch nur Beispiele in C#, Visual Basic .NET und C++, nicht aber in der PowerShell-Sprache. In ADO.NET wird für den Zugriff auf ein konkretes Datenbankmanagementsystem ein Datenbankprovider (alias .NET Data Provider oder Managed Data Provider) benötigt. ADO.NET im .NET Framework wird mit folgenden vier Datenprovidern ausgeliefert:
1. System.Data.SqlClient: Spezieller Treiber für Microsoft SQL Server ab Version 7.0.
2. System.Data.OracleClient: Spezieller Treiber für Oracle-Datenbanken, gilt aber als veraltet. Microsoft empfiehlt hier, den offiziellen Treiber von Oracle oder einen Treiber eines Drittanbieters wie DevArt oder DataDirect zu verwenden.
3. System.Data.OLEDB: Brücke zu OLE-DB-Providern, erlaubt die Anbindung von Access-Datenbanken, aber auch Microsoft SQL Server und andere.
4. System.Data.Odbc: Brücke zu ODBC-Treibern, ermöglicht die Anbindung von Datenspeichern, für die es nur alte ODBC-Treiber gibt (zum Beispiel DBase).
Weitere Provider (etwa für MySQL, SQ-Lite, DB2, Sybase, Informix und Ingres) werden von anderen Herstellern geliefert. Die auf einem System registrierten ADO.NET-Datenprovider listen Sie über eine statische .NET-Methode auf:
[System.Data.Common.DbProviderFactories]::GetFactoryClasses()
Dies funktioniert aber nicht in .NET Core
...Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.