2012-04-14 25 views
5

Tiene que haber una manera fácil de hacerlo. Tengo un script de Powershell que se conecta a una base de datos y quiero guardar la tabla de datos resultante como un CSV. Aquí está el código hasta ahora:Use Powershell para guardar una tabla de datos como csv

$connString = "Provider=msdaora;Data Source=MyDatabase;User Id=test;Password=test  
$qry = "select * from employees" 
$OLEDBConn = New-Object System.Data.OleDb.OleDbConnection($connString)    
$OLEDBConn.open()    
$readcmd = New-Object system.Data.OleDb.OleDbCommand 
$readcmd.Connection = $OLEDBConn 
$readcmd.CommandTimeout = '300' 
$readcmd.CommandText = $qry 
$da = New-Object system.Data.OleDb.OleDbDataAdapter($readcmd)    
$dt = New-Object system.Data.datatable    
[void]$da.fill($dt)    
$OLEDBConn.close() 
+0

Hay una [ConvertTo-Csv] (http://technet.microsoft.com/en-us/library /dd315253.aspx) cmdlet. Solo necesita asegurarse de conectar con algo que pueda entender. –

Respuesta

15

esto debe hacerlo pienso:

$ds = New-Object System.Data.DataSet 
$da.Fill($ds) >$null| Out-Null 
$ds.Tables[0] | export-csv tofile.csv -notypeinformation 
+0

¡Muchas gracias! Trabajado como un encanto. No sé casi nada sobre Powershell, pero necesitaba ejecutar esta sencilla extracción de datos. –

Cuestiones relacionadas