2010-03-01 65 views
1

有没有办法直接将从TSQL /存储过程返回的结果写入文本文件(不使用CTRL + T =>结果到文本)。由于这个TSQL在我的一个服务例程中是动态的。每当我调用这个服务例程,它就会生成SQL Statement =>执行,并且在这里我想通过传递filepath作为参数来将它指向文本文件。在脚本中输出TSQL结果到文本文件

这怎么办?

感谢

回答

1

像这样的工作:

declare @cmd varchar(500) 
select @cmd = 'osql -U -P -S -Q"select * from myTable" -o"c:\output.txt" -w500' 
exec master..xp_cmdshell @cmd 

你也可以通过创建一个基于C#的存储过程,并通过CLR执行它做到这一点。

+1

大多数数据库管理员都会删除对'xp_cmdshell'的访问权限。在这种情况下,从外部SQL Server执行(在命令行上)是最佳选择。 – 2010-03-01 00:14:38