【发布时间】:2014-07-28 21:09:02
【问题描述】:
我需要有关此脚本的帮助。基本上我连接到多个数据库以获得我需要的数据集。在从所有不同的数据库中捕获数据集后,我需要将其输出写入 CSV 文件。下面是我基本上想出的代码。该脚本正在创建一个输出 CSV 文件,但它没有附加我捕获的所有数据。它只写入捕获的最后一个数据集。我该如何解决这个问题?
需要帮助来修复它。
$DB = Get-Content c:\ps\DBLIST.txt
foreach($Data in $DB)
{
Write-Host $Data
$strDB = $Data+".local"
$con = New-Object System.Data.SqlClient.SqlConnection
$con.ConnectionString = "Server=$strDB;Database=db;User ID=user;Password=password"
$con.open()
$qry = "select a, b, c, d from table1"
$cmd = New-Object System.Data.SqlClient.SqlCommand
$cmd.CommandText = $qry
$cmd.Connection = $con
$da = New-Object System.Data.SqlClient.SqlDataAdapter
$da.SelectCommand = $cmd
$ds = New-Object System.Data.Dataset
$da.Fill($ds)
$dr = $cmd.ExecuteReader()
Write-Host
$outFile = "C:\ps\OUTPUT.csv"
If ($dr.HasRows)
{
write-Host a b c d
While ($dr.Read())
{
Write-Host $dr["a"] $dr["b"] $dr["c"] $dr["d"]
}
}
Else
{
Write-Host There are no records found. Try again.
}
$ds.Tables[0] | export-csv $outFile -NoTypeInfo -Force -Append
#$ds.Tables[0] | Export-Csv -Delimiter ','$outFile -Encoding "unicode"
Write-Host
$dr.Close()
$con.Close()
}
【问题讨论】:
标签: powershell