40 lines
1.3 KiB
PowerShell
40 lines
1.3 KiB
PowerShell
param(
|
|
[Parameter(Mandatory=$true)]
|
|
[string]$TableName
|
|
)
|
|
|
|
# Importa configurazione
|
|
. "$PSScriptRoot\conf.ps1"
|
|
|
|
# Carica l'assembly System.Data
|
|
Add-Type -AssemblyName System.Data
|
|
|
|
$OutputFile = Join-Path $PSScriptRoot "..\extract\$TableName.csv"
|
|
|
|
$Query = "SELECT * FROM $TableName"
|
|
|
|
try {
|
|
Write-Host "Connessione a $env:dbHostInput, database $env:dbNameInput..."
|
|
|
|
# Crea la connessione e esegui la query
|
|
$connectionString = "Server=$($env:dbHostInput);Database=$($env:dbNameInput);User Id=$($env:dbUserInput);Password=$($env:dbPasswordInput);TrustServerCertificate=True"
|
|
$connection = New-Object System.Data.SqlClient.SqlConnection($connectionString)
|
|
$command = New-Object System.Data.SqlClient.SqlCommand($Query, $connection)
|
|
$adapter = New-Object System.Data.SqlClient.SqlDataAdapter($command)
|
|
$dataset = New-Object System.Data.DataSet
|
|
$adapter.Fill($dataset) | Out-Null
|
|
$result = $dataset.Tables[0]
|
|
|
|
if ($result) {
|
|
$result | Export-Csv -Path $OutputFile -NoTypeInformation -Delimiter ";" -Encoding UTF8
|
|
} else {
|
|
throw "Nessun dato trovato nella tabella $TableName"
|
|
}
|
|
|
|
Write-Host "Dati esportati con successo in: $OutputFile"
|
|
}
|
|
catch {
|
|
Write-Error "Errore durante l'estrazione dei dati: $_"
|
|
exit 1
|
|
}
|