Dieses Blog durchsuchen

Dienstag, 7. Juli 2015

Datenbankzugriff mittels Powershell

Manchmal ist es auch praktisch, wenn man mittels PowerShell Skript auch direkt in eine Tabelle am MS SQL Server schreibt.
Wenn zum Beispiel tourlich PowerShell Skripts durchgeführt werden und deren Arbeit protokolliert werden soll. Durch diese Kombination kann man die volle - und das ist wirklich viel - Macht von Powershell für sich nutzen. 



## Variablen für Zugriff auf Datenbank
$Server = "mylovelyServer"
$sql ="INSERT INTO [dbo].[Testtable] ([wert1]) VALUES (123)" 
$Database = "mylovelyDatabase"
 
## Verbindung herstellen
$Connection = New-Object System.Data.SQLClient.SQLConnection
$Connection.ConnectionString = "server='$Server';database='$Database';trusted_connection=true;MultipleActiveResultSets=True;"
$Connection.Open()
 
## SQL absetzen
$Command = New-Object System.Data.SQLClient.SQLCommand
$Command.Connection = $Connection
$Command.CommandText = $sql
$Command.ExecuteReader()

## Verbindung schließen
$Connection.Close()

Will man mittels Powershell aus einer SQL Tabelle auslesen, so ist einfach das Ergebnis zu laden. Ein Beispiel hierfür: 


## Variablen für Zugriff auf Datenbank
$Server = "mylovelyServer"
$sql ="SELECT * [dbo].[Testtable]" 
$Database = "mylovelyDatabase"
 
## Verbindung herstellen
$Connection = New-Object System.Data.SQLClient.SQLConnection
$Connection.ConnectionString = "server='$Server';database='$Database';trusted_connection=true;MultipleActiveResultSets=True;"
$Connection.Open()
 
## SQL absetzen
$Command = New-Object System.Data.SQLClient.SQLCommand
$Command.Connection = $Connection
$Command.CommandText = $sql
$Ergebnis = $Command.ExecuteReader()
## Ergebnis laden und anzeigen
$Tabelle = new-object “System.Data.DataTable”
$Tabelle.Load($Ergebnis)
$Format = @{Expression={$_.wert1};Label=”wert1”;width=10}
$Tabelle | format-table $Format
## Verbindung schließen
$Connection.Close()

Keine Kommentare:

Kommentar veröffentlichen