@alexeyborisov75

Почему PowerShell при экспорте SQL результата запроса в CSV экспортирует ерунду?

не понимаю что я делаю не так. У меня есть скрипт на PowerShell, он подключается к базе делает запрос и возвращает результат, данный результат мне нужно сохранить в экселе и CSV

$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server=localhost\SQLEXPRESS;Database=msdb;Trusted_Connection=True;"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = "Select * from MSdbms"
$SqlCmd.Connection = $SqlConnection
$DataAdapter = new-object System.Data.SqlClient.SqlDataAdapter $SqlCmd
$Dataset = new-object System.Data.Dataset
write-output $DataAdapter.Fill($Dataset) | Out-Null
$Output = $DataSet.Tables
$Output 

Export-Csv -InputObject $Output -Append -NoTypeInformation -Path C:\Users\users\TestScripts\Report.csv


Результат на экран выводится верный 5fc8f61b1cb7b167587028.png

а вот в CSV выводится какая-то шляпа, не пойму где ошибка. 5fc8f628c9213321771822.png
  • Вопрос задан
  • 220 просмотров
Решения вопроса 1
@alexeyborisov75 Автор вопроса
Все намного проще,как оказалось

Invoke-Sqlcmd -Query "Select * from MSdbms" -ConnectionString "Server=localhost\SQLEXPRESS;Database=msdb;Trusted_Connection=True;" | Export-Csv  -Delimiter ';' -Path C:\Users\user\TestScripts\Report.csv -notypeinformation
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@NortheR73
системный инженер
А если так?
$output | select dbms_id,dbms | export-csv...
Ответ написан
@MaxKozlov Куратор тега PowerShell
потому что в $Output вы положили Tables, а вам нужна первая из них
$DataSet.Tables[0] | Export-Csv ....
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы