2012-04-14 38 views
5

Phải có cách dễ dàng để thực hiện việc này. Tôi có một kịch bản Powershell kết nối với một cơ sở dữ liệu và tôi muốn lưu dữ liệu kết quả dưới dạng CSV. Đây là mã cho đến nay:Sử dụng Powershell để lưu dữ liệu có thể định dạng dưới dạng 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

Có một [ConvertTo-Csv] (http://technet.microsoft.com/en-us/library /dd315253.aspx) cmdlet. Bạn chỉ cần chắc chắn rằng bạn ống trong một cái gì đó nó có thể hiểu được. –

Trả lời

15

này nên làm điều đó tôi nghĩ:

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

Cảm ơn bạn rất nhiều! Làm việc như người ở. Tôi biết bên cạnh không có gì về Powershell nhưng cần thiết để có được kéo dữ liệu đơn giản này chạy. –

Các vấn đề liên quan