如何将SQL查询结果写入文本文件

时间:2018-01-12 20:47:52

标签: powershell

我在PowerShell中执行SQL查询,我需要将该查询的结果传递给txt文件。我该怎么办?

实际上这是我的代码:

$QUERY = "SELECT ID_ORDEN_COMPRA,COMPROBANTE_TRANSACCION FROM ORDEN_COMPRA";    
Write-Output $QUERY;
$DB_LIST = Invoke-Sqlcmd -AbortOnError -EncryptConnection -ConnectionTimeout $TIMEOUT -Database 'dbprod_itswebpay' -ServerInstance $SQL_SERVER_FULLNAME_SOURCE -Username $SQL_ACCOUNT_NAME_SOURCE -Password $SQL_ACCOUNT_PASSWORD_SOURCE -Query $QUERY;

3 个答案:

答案 0 :(得分:0)

解决方案很简单,Victor Silva给了我解决方案

Get-Process | Out-File -FilePath C:\procesos.txt

$QUERY = "SELECT ID_ORDEN_COMPRA, COMPROBANTE_TRANSACCION FROM ORDEN_COMPRA WHERE  COMPROBANTE_TRANSACCION IS NOT NULL AND FECHA_PAGO_ORDEN_COMPRA <= '20180101 23:59:59'";    
Write-Output $QUERY;
$DB_LIST = Invoke-Sqlcmd -AbortOnError -EncryptConnection -ConnectionTimeout $TIMEOUT -Database 'dbprod_itswebpay' -ServerInstance $SQL_SERVER_FULLNAME_SOURCE -Username $SQL_ACCOUNT_NAME_SOURCE -Password $SQL_ACCOUNT_PASSWORD_SOURCE -Query $QUERY;

答案 1 :(得分:0)

“PowerShell”方法是使用Out-File cmdlet,最后添加此行:

$DB_LIST | Out-File "my-file-path.txt"

如果您需要将文件编码设置为UTF8(例如),您还应该考虑明确设置文件编码:

$DB_LIST | Out-File "my-file-path.txt" -Encoding UTF8

答案 2 :(得分:0)

这些是对象,所以我将其导出到csv(ascii):

$DB_LIST | export-csv dblist.csv

请注意,默认情况下,文件外文件采用unicode编码。