我想寻求关于如何将oracle查询输出到csv的建议,与oracle query的输出格式相同。下面是我的代码的摘录
[System.Reflection.Assembly]::LoadWithPartialName("System.Data.OracleClient") | Out-Null
$connection = New-Object System.Data.OracleClient.OracleConnection($connectionString)
$command = new-Object System.Data.OracleClient.OracleCommand($queryString, $connection)
$connection.Open()
$users = $command.ExecuteReader()
$Counter = $users.FieldCount
$dataset =
@( while ($users.Read()) {
for ($i = 0; $i -lt $Counter; $i++) {
New-Object PsObject -Property @{ Key = $users.GetName($i)
Value = $users.GetValue($i)
}
}
})
$connection.Close() 输出:
PS C:\WINDOWS\system32> $dataset
Key Value
--- -----
PRCDNAME A123rw-T03
ASSY_PART1 wrwrwee-A03
ASSY_PART2 wrewrwe-A0CAD
ASSY_PART3 wer
ASSY_PART4
ASSY_PART5
ASSY_PART6
OUTPN_1 rgsrggs-3
OUTPN_2
OUTPN_3
OUTPN_4
OUTPN_5
OUTPN_6
OUTPN_7
OUTPN_1_ALLOC1 我想把它格式化如下。基本上,我需要键列作为标题
PRCDNAME,ASSY_PART1,ASSY_PART2 ,......,
A123rw-T03,wrwrwee-A03,wrewrwe-A0CAD,...., 发布于 2017-03-09 00:45:10
从您的对象列表创建一个哈希表:
$ht = @{}
$dataset | ForEach-Object { $ht[$_.Key] = $_.Value }然后从该哈希表创建一个对象,并将其导出为CSV:
New-Object -Type PSObject -Property $ht | Export-Csv 'C:\path\to\output.csv' -NoTypehttps://stackoverflow.com/questions/42676820
复制相似问题