2012-04-14 52 views
5

必须有一个简单的方法才能做到这一点。我有一个连接到数据库的Powershell脚本,我想将结果数据表保存为CSV。这是迄今为止代码:使用Powershell将数据表保存为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

有一个[的ConvertTo-CSV(http://technet.microsoft.com/en-us/library /dd315253.aspx)cmdlet。你只需要确保你输入一些可以理解的东西。 – 2012-04-14 00:27:33

回答

15

这应该做到这一点,我认为:

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

非常感谢!像魅力一样工作。我几乎不知道Powershell,但需要运行这个简单的数据拉。 – 2012-04-16 17:36:32