我在Windows Server 2003计算机上运行SQL Server 2005。
我需要将小文本文件累积到更大的文本中。
所以我用
exec xp_cmdshell @sql
其中@sql =
'copy /b'+@sourcePath+@sourceFile+' '+@destinationPath+@NewFileName
源路径和目标路径都位于单独的服务器上。
很少此过程失败,我在事件或SQL Server日志中找不到任何其他内容。
xp_cmdshell的Surface Area Config也已启用。
请帮助.....
答案 0 :(得分:0)
我刚刚在我的sql server 2005上测试了它,EXEC dbo.xp_cmdshell
总是以表格的形式返回输出(即使是在伪命令的情况下)。对于C#,如果您使用ExecuteNonQuery调用此代码,请使用ExecuteReader调用它并读取输出。或者,您可以将输出转储到表格中,以便稍后在闲暇时查看。创建一个这样的表:
CREATE TABLE [dbo].[xp_cmdShellOutput](
[errorMsg] [nvarchar](max) NULL
)
然后使用此代码:
DECLARE @sql AS VARCHAR(600)
SELECT @sql = '<your command>'
INSERT dbo.xp_cmdShellOutput(errorMsg)
EXEC dbo.xp_cmdshell @sql