Использование Invoke-SqlCmd для запроса и экспорта в текстовый файл.Но данные были усечены. - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь использовать Invoke-SqlCmd для запроса данных и сохранения в текстовый файл.Как бы то ни было, я обнаружил, что некоторые записи обрезаны и добавили 3 точки сзади.

$SQLInstanceName = "Server01"
$DBName = "ABC"
$TextFile = "C:\Temp\Test.txt"
$SQLQuery = "SELECT [Description] FROM [dbo].[TestTable]" 
Invoke-Sqlcmd -ServerInstance $SQLInstanceName -Query $SQLQuery -Database $DBName | Out-File -filePath $TextFile  

Это меньше, чем 400 символов на записи.

Спасибо.

1 Ответ

0 голосов
/ 21 февраля 2019

Записи в столбце [description] таблицы [TestTable] могут содержать несколько строк.Вот почему вы получаете точки.Попробуйте использовать приведенный ниже скрипт.

$SQLInstanceName = "Server01"
$DBName = "ABC"
$TextFile = "C:\Temp\Test.txt"
$SQLQuery = "SELECT [Description] FROM [dbo].[TestTable]" 

$Results = Invoke-Sqlcmd -ServerInstance $SQLInstanceName -Query $SQLQuery -Database $DBName 

"Description`r`n-----------`r`n" | Out-File -filePath $TextFile # Creates a new file with Header

Foreach($Result in $Results)
{
    "$($Result.Description)`r`n"  | Out-File -filePath $TextFile -Append
}
...