Sito web di notizie tecnologiche e videogames.

Powershell: come interrogare un database

21

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