Exportar una colsulta a través de un ODBC a un archivo CSV con PowerShell

  • 21 Sep 2021
  • PowerShell

Escenario

En un Windows 10 tenesmos instalado un ODBC (IBM iSeries Access for Windows ODBC Driver) y necesitamos crear un CSV a partir de una query. Para hacer más ágil la actulización, mantenimiento, etc, se prefiere hacer con PowerShell en vez de crear un archivo Excel.

Script en PowerShell

function Export-TableToCsv () {

  $connStr = "DSN=NOMBRE_DSN;UID=USER;PWD=PASSWD;"
  $con = New-Object System.Data.Odbc.OdbcConnection $connStr
  $con.Open()

  $sql = "SELECT * FROM TABLE"

  $cmd = New-Object System.Data.Odbc.OdbcCommand($sql,$con)
  $cmd.CommandTimeout = 15

  $DataSet = New-Object System.Data.DataSet
  $DataAdapter = New-Object System.Data.Odbc.OdbcDataAdapter($cmd)
  $DataAdapter.Fill($DataSet)

  $con.close()

  $DataSet.Tables[0] | Export-Csv orders.csv -notypeinformation

}