Форматирование вывода Powershell из хранимой процедуры - PullRequest
3 голосов
/ 30 марта 2011

Я столкнулся с небольшой проблемой, пытаясь получить вывод из хранимой процедуры в текстовый файл через. Powershell.

#Connection Object
$cn = New-Object System.Data.SqlClient.SqlConnection(
    "Data Source=localhost; Database=test;User ID=test;Password=xyzzy;"
    )

$q = "exec usp_Users"

#Data Adapter which will gather the data using our query
    $da = New-Object System.Data.SqlClient.SqlDataAdapter($q, $cn)
#DataSet which will hold the data we have gathered
    $ds = New-Object System.Data.DataSet
#Out-Null is used so the number of affected rows isn't printed
    $da.Fill($ds) >$null| Out-Null
#Close the database connection
$cn.Close()

if($ds.Tables[0].Rows.Count -eq 0){   
write-host '0:No Data found'   
exit 2 
}  

$file = "C:\temp\" + "users" + $(Get-Date -Format 'MM_dd_yyyy') + ".txt"
$ds.Tables[0] |  out-File $file -encoding ASCII -width 255

Вот вывод:

Column1
-----
USER_NAME,USER_TYPE
test@spamex.com,MasterAdministrator
foo@hotmail.com,UserAdministrator
test4@test.com,Users

Как мне избавиться от 'Column1' и подчеркивания?

Ответы [ 2 ]

3 голосов
/ 30 марта 2011

select-object с расширенным свойством может помочь:

ds.Tables[0] | Select-Object -expand Column1 | out-file..
0 голосов
/ 31 марта 2011

Вы можете экспортировать данные напрямую в файл CSV, используя export-csv:

$ ds.Tables [0] | export-csv tofile.csv-notypeinformation

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...