【问题标题】:Output TSQL result to textfile in script将 SQL 结果输出到脚本中的文本文件
【发布时间】:2010-03-12 16:50:48
【问题描述】:

有没有办法将 TSQL / 存储过程返回的结果直接写入文本文件(不使用 CTRL + T => Result to Text)。因为这个 TSQL 在我的一个服务例程中是动态的。每当我调用此服务例程时,它都会生成 SQL 语句 => 执行,在这里我想通过将文件路径作为参数传递来将其定向到文本文件。

如何做到这一点?

谢谢

【问题讨论】:

    标签: sql-server 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 执行它来实现。

    【讨论】:

    • 大多数 DBA 将删除对 xp_cmdshell 的访问权限。在这种情况下,从 SQL Server 外部(在命令行上)执行是您的最佳选择。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    • 2015-01-12
    • 2014-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多