HowTo: Powershell SQL-Query Funktion


Um mittels Powershell Daten von einem SQL-Server auszulesen und diese anschließend auszuwerten, wurde die folgende Funktion „Get-SQLData“ geschrieben.

Die geschriebene Funktion setzt keine SQL-Module voraus, sondern lediglich den SQL-Client aus dem .NET Framework Data Provider für SQL-Server welcher ab .NET Framework 4.5 verfügbar ist.

Die Parameter $Server, $Datenbank und $Query sind Pflicht und müssen somit beim Aufruf der Funktion angegeben werden.

Function Get-SQLData {

    param(

        [Parameter(Mandatory=$true)]$Server, 
        [Parameter(Mandatory=$true)]$Database, 
        $User, 
        $Password, 
        [Parameter(Mandatory=$true)]$Query
    )

    # *** SQL-String  ***
    $ConnectionString = "Server=$Server ;uid=$User; pwd=$Password; Database=$Database; Integrated Security = False;"
    $Connection = New-Object System.Data.SqlClient.SqlConnection 
   
    $Connection.ConnectionString = $ConnectionString
                                                                                                      
                                                        
    # *** Query ***

    $Command = $Connection.CreateCommand()
    $Command.CommandText = $Query
  
    $adapter = New-Object -TypeName System.Data.SqlClient.SqlDataAdapter $Command

    $dataset = New-Object -TypeName System.Data.DataSet
    $adapter.Fill($dataset)
    $dataset.Tables[0]
}

Ein Aufruf der Funktion würde beispielweise so aussehen:

$Objekt = Get-SQLData -Server "Beispielserver" -Database "Beispieldatenbank" -Query "SELECT * FROM Beispielname"

Als Resultat erhält man ein eigenes Objekt, pro Record wird eine eigene Zeile geschrieben und pro Spalte auch eine entsprechende Objekt-Eigenschaft. Auf die jeweilige Objekt-Eigenschaft wird so zugegriffen.

$Objekt.Eigenschaft

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit deinem WordPress.com-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s