我想使用BCP(批量复制程序)从SQL Server 2005数据库编写大型数据集。
理想情况下,我想做以下事情:
bcp MyDatabase..MyTable OUT STDOUT -c -t, |gzip -c c:\temp\dataset.csv.gz
但是,BCP只是将其写入名为STDOUT的文字文件中。
我也尝试过:
bcp MyDatabase..MyTable OUT CON: -c -t, |gzip -c c:\temp\dataset.csv.gz
但这会返回和错误 Error = [Microsoft][SQL Native Client]Unable to open BCP host data-file
。
那么,我可以在任何地方创建命名管道吗?我已经在网上看到了以某种方式启动的提示 gzip
一端绑定到文件名,如\\。\ named_pipe - 但这是怎么做到的?
更新 :请注意,Microsoft自己承认他们真的不关心SQL Server的效率: http://connect.microsoft.com/SQLServer/feedback/details/337702/support-bcp-out-in-and-bulk-insert-compressed-or-named-pipe-support-at-least