2017-03-08 44 views
0

我想尋求建議,我如何將oracle查詢輸出到與oracle查詢相同的寬格式輸出的csv。下面 是摘自我的代碼Oracle查詢並輸出到CSV

[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,....,  

回答

1

從對象列表中創建一個哈希表:

$ht = @{} 
$dataset | ForEach-Object { $ht[$_.Key] = $_.Value } 

然後從哈希表中創建一個對象,並將其導出爲CSV:

​​
+0

它的工作原理!非常感謝! :) – jleusjr