需要每天为 SQL 服务器的输出创建一个 CSV
Need to create a CSV per day for output from SQL Server
我需要根据每天在 SQL 服务器上运行的存储过程创建一个 CSV 文件,其中包含运输详细信息。
解决这个问题的最佳方法是什么?
我们发现最好的解决方案是使用 Powershell 调用存储过程,并在每天运行 Powershell 的 windows 调度程序中执行任务 运行。
我不知道 Oracle,但对于 SQL 服务器,我发现最简单的方法是使用 PowerShell。
$hostname = hostname
Invoke-Sqlcmd -ServerInstance $hostname -Database master -Query "select * from sys.sysdatabases" | Export-Csv "d:\result.csv" -NoTypeInformation
在所需位置提供 CSV 文件。
如果您的 SQL 服务器位于远程位置,请确保您的服务器可以连接到上述 SQL 服务器,如果有任何 certificate/encryption 就位,那么您已经具备了一切必要的。
另一个选项是 BCP,即批量命令协议。您基本上可以将它构建到存储过程中,或者专门在运行它的 sql 服务器代理作业中,或者在 SSIS 包中。随心所欲。
这是 Microsoft 的 BCP 实用程序的 link:
https://docs.microsoft.com/en-us/sql/tools/bcp-utility?view=sql-server-ver15
请务必注意,您可能需要在 SQL 服务器中启用一些更高级的选项。它是高度可配置的,包括将整个表转储到 csv 文件的能力。
我需要根据每天在 SQL 服务器上运行的存储过程创建一个 CSV 文件,其中包含运输详细信息。
解决这个问题的最佳方法是什么?
我们发现最好的解决方案是使用 Powershell 调用存储过程,并在每天运行 Powershell 的 windows 调度程序中执行任务 运行。
我不知道 Oracle,但对于 SQL 服务器,我发现最简单的方法是使用 PowerShell。
$hostname = hostname
Invoke-Sqlcmd -ServerInstance $hostname -Database master -Query "select * from sys.sysdatabases" | Export-Csv "d:\result.csv" -NoTypeInformation
在所需位置提供 CSV 文件。
如果您的 SQL 服务器位于远程位置,请确保您的服务器可以连接到上述 SQL 服务器,如果有任何 certificate/encryption 就位,那么您已经具备了一切必要的。
另一个选项是 BCP,即批量命令协议。您基本上可以将它构建到存储过程中,或者专门在运行它的 sql 服务器代理作业中,或者在 SSIS 包中。随心所欲。
这是 Microsoft 的 BCP 实用程序的 link: https://docs.microsoft.com/en-us/sql/tools/bcp-utility?view=sql-server-ver15
请务必注意,您可能需要在 SQL 服务器中启用一些更高级的选项。它是高度可配置的,包括将整个表转储到 csv 文件的能力。