Sie sind hier: Startseite
 Liste aller Codebeispiele

Datenbankzugriff mit der PowerShell (ADO.NET mit der PowerShell)

Autor: Dr. Holger Schwichtenberg 

Beschreibung

Die PowerShell besitzt keine Commandlets für den Datenbankzugriff und auch keinen Navigation Provider, obwohl es sich anbieten würde, auch Datenbanken ins Konzept der Navigation Provider einzubeziehen. Zum Datenbankzugriff kann man in der PowerShell auf ADO.NET zugreifen.

Das folgende PowerShell-Script gibt aus einer Microsoft Access-Datenbanktabelle alle Datensätze sortiert aus. Zum Einsatz kommt dabei der OLE DB-Provider für ADO.NET, der im .NET Framework ab Version 1.0 enthalten ist.

Programmcodebeispiele Windows PowerShell-Pipeline

Eingabedaten

$Conn = "Provider=Microsoft.Jet.OLE DB.4.0;Data Source=j:\demo\dokumente\users.mdb;"
$SQL = "Select * from users order by UserSurname"

Datenbank öffnen

"Öffne die Datenbank..."
$conn = New-Object System.Data.OLE DB.OLE DBConnection($Conn)
$conn.open()
"Zustand der Datenbank: " + $conn.State

SQL-Befehl ausführen

"Befehl ausführen: " + $SQL
$cmd = New-Object System.Data.OLE DB.OLE DBCommand($sql,$conn)
$ada = New-Object System.Data.OLE DB.OLE DBDataAdapter($cmd)
$ds = New-Object System.Data.DataSet
$ada.Fill($ds, "Benutzer") | out-null
"Anzahl der Tabellen im Dataset: " + $ds.Tables.Count
"Anzahl der Datens#tze in Tabelle 1: " + $ds.Tables[0].Rows.Count

"Ausgabe der Daten:"
$ds.Tables[0] | Select UserFirstName, UserSurname, userid

Andere Programmiersprache

Dieses Codebeispiel ist in anderen Sprachen (noch) nicht verfügbar.

Hinweise

Ausgaben werden in den Beispielen durch Hilfsroutinen wie out() und PrintOut() erzeugt. Diese sind hier nicht angegeben, da deren Implementierung von der jeweiligen Umgebung abhängt. Für Konsolenanwendungen können hier z.B. Console.WriteLine() einsetzen.

Querverweise

 Definition '.NET Framework Class Library'  .NET & Visual Studio Community Portal