Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQL Server 2008的存储过程中导出为CSV_Sql_Sql Server_Sql Server 2008_Csv - Fatal编程技术网

在SQL Server 2008的存储过程中导出为CSV

在SQL Server 2008的存储过程中导出为CSV,sql,sql-server,sql-server-2008,csv,Sql,Sql Server,Sql Server 2008,Csv,我有一个存储过程,它创建一个临时表,并有大量数据。我试过以下两种方法。我可以使用“导出”实用程序或“结果到文件”设置手动执行此操作,但我希望将代码嵌入到存储过程中,以便安排批处理作业并将其忘记。此外,出于许多原因,我不想使用SSI 我发现的流行解决方案有: bcp "select * from WHSE.Customer" queryout ExcelTest.csv -t, -c -S . -d Server1 -T SQLCMD -S . -d Server1 -Q “"select *

我有一个存储过程,它创建一个临时表,并有大量数据。我试过以下两种方法。我可以使用“导出”实用程序或“结果到文件”设置手动执行此操作,但我希望将代码嵌入到存储过程中,以便安排批处理作业并将其忘记。此外,出于许多原因,我不想使用SSI

我发现的流行解决方案有:

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附近的语法不正确”。这是一条T-SQL错误消息。正如您所说的,您是在存储过程中运行它的。BCP和SQLCMD都是命令行实用程序,这意味着您必须在命令(DOS)提示符下运行它们

有一种直接从SQL执行的方法,但您必须使用:
xp\u cmdshell
这是一篇关于如何使用它的好文章:


这是为SQL Server 2005编写的,但也适用于2008。

您收到的确切错误消息是什么?queryout附近的语法不正确。“S”附近的语法不正确。谢谢Joreon,我确信这会起作用,因为现在我得到了链接中列出的所有错误。糟糕的是,我的DBA不会给我访问该命令的权限:(返回ssis