Sito web di notizie tecnologiche e videogames.

Powershell: come interrogare un database

17

Nel mondo informatico i database ricoprono un ruolo di fondamentale importanza, per questo oggi andiamo a vedere come interrogare un database con Powershell!

NB: In questo articolo viene usato Powershell (5.1) per connettersi al DBMS MySQL

Primo passo: installare i software necessari

Al fine di poter interagire con MySQL dobbiamo installare il MySQL.Net connector, questo perché Powershell non è dotato nativamente di un supporto per MySQL. Scaricare quindi il MySQL.Net connector al seguente link

Una volta installato il pacchetto possiamo passare alla parte di scripting!

Secondo passo: settare le variabili di accesso al database

Per potersi connettere ad un database bisogna ovviamente disporre delle credenziali di accesso, per questo inizializziamo le seguenti variabili:

$SQLServer = 'indirizzo server sql '
$SQLDB = 'nome database'
$user = 'il tuo user'
$passwd = 'la tua password'

Terzo passo: accesso al database

Per prima cosa dobbiamo autenticare una connessione con il database e cercare di connetterci a lui …

$SqlConnection = New-Object MySql.Data.MySqlClient.MySqlConnection
$SqlConnection.ConnectionString = 'Server= $SQLServer; Database=$SQLDB ; Uid=$user; Pwd=$passwd;'
try {
    $SqlConnection.Open()
} catch {
    Write-Host 'ERROR: unable to connect MySql db'
    Exit
}

Una volta stabilita una connessione al database possiamo interrogarlo eseguendo delle query.

$SqlCmd = $SqlConnection.CreateCommand()
$SqlString = ' SELECT * FROM utenza;'
$SqlCmd.CommandText=$SqlString
$SqlDataReaderMySQL = $SqlCmd.ExecuteReader()

Una volta eseguita la query ne visualizziamo il risultato nel seguente modo:

While (($SqlDataReaderMySQL.Read())) {
$campo1 = $SqlDataReaderMySQL['nome del campo']
$campo2 = [string] $SqlDataReaderMySQL['nome del campo'] 
Write-Host $campo1 $campo2
}

Una volta eseguita la query ed aver visualizzato i dati che ci interessano chiudiamo la connessione al database

$SqlConnection.Close()

Esempio:

La tebella da cui andrò a prelevare i record tramite lo script è la seguente ed appartiene al database ‘classe’:

Powershell: come interrogare un database

Da notare come ogni record della tabella (che rappresenta uno studente) sia formato da tre campi: matricola, nome, cognome.

Tramite lo script Powershell andremo a prelevare questi tre campi da ogni record e li visualizzeremo a schermo.

Lo script configurato secondo i miei parametri è il seguente:
Powershell: come interrogare un database
L’output dello script è corretto, in quanto visualizza a schermo tutti i record della tabella:
Powershell: come interrogare un database
Nel prossimo articolo vedremo come collegarci ad un database ed inserire nuovi record all’interno delle sue tabelle! 😉
Commenti