目前,我们正在使用PowerShell中的Invoke-Sqlcmd
和命令从 SQL Server 导出 csv 文件。Export-Csv
要上传到 Redshift,我们需要用双引号将数据括起来并转换为 UTF8 编码。
所以我们考虑了组合Invoke-Sqlcmd
和Export-Csv
更容易和简单的开发。
这是示例命令:
Invoke-Sqlcmd –Username $StrUserName –Password $StrPassword
-Query $StrQry -ServerInstance $StrSvrName
-IgnoreProviderContext -QueryTimeOut 3000 | Export-Csv -path $StrExpFile -Encoding UTF8
正常数量的导出操作没有问题,但是当目标表数据超过百万行时,会消耗大量内存。
如果您有任何降低成本的想法或任何其他导出数据的方法,请用编码 UTF-8 的双引号括起来,请告诉我。
谢谢你。