在 SQL Server 2008 中,我想使用sqlcmd实用程序将存储过程的结果导出到文件中。现在我的存储过程的结尾是一个 select 语句,最后有一个“for xml path..”子句。
我在BOL上读到,如果我不想在文件大小达到 1MB 时截断输出,我必须使用这个:XML ON命令,但在调用存储过程之前,它应该放在自己的行上。
- 你们中的任何一位专家都知道是否可以在不为 sqlcmd 指定输入文件的情况下做到这一点?(我这样调用 sqlcmd :
exec master..xp_cmdshell 'sqlcmd -Q"exec storedProcedureName @param1=value1, @param2=value2" -o c:\exportResults.xml -h-1 -E'
,
但是“storedProcedureName”及其参数可以更改,这意味着每个传递参数到 sqlcmd 有 1 个输入文件)
- 另外,我似乎不能使用 bcp 而不是 sqlcmd 因为我的存储过程正在创建一个临时表并在其上执行 DML 语句?
非常感谢