【发布时间】:2015-12-17 23:09:42
【问题描述】:
我有一个存储过程,它创建一个临时表并拥有大量数据。我已经尝试了以下两种方法。我可以使用导出实用程序或结果到文件设置手动执行此操作,但我想将代码嵌入到我的存储过程中,以便我可以安排批处理作业并忘记它。此外,出于多种原因,我不想使用 SSIS。
我发现的流行解决方案是:
bcp "select * from WHSE.Customer" queryout ExcelTest.csv -t, -c -S . -d Server1 -T
SQLCMD -S . -d Server1 -Q “"select * from WHSE.Customer sp” -s “,” -o “d:\result.csv
在 BCP 中,它在 BCP 上出现错误,如果我在前面添加 EXECUTE,我会收到错误:
“queryout”附近的语法不正确。
SQLCMD 也是如此,除了 SQLCMD 或 -S 上的错误,具体取决于我是否使用 Execute 命令。
这看起来应该很简单,我找到了很多答案,但没有一个真正有效。似乎它应该是世界上最基本的东西,SELECT * INTO MYFILE.CSV FROM MYTABLE 本质上。
【问题讨论】:
-
您得到的确切错误信息是什么?
-
“queryout”附近的语法不正确。 'S' 附近的语法不正确。
标签: sql sql-server sql-server-2008 csv