Sql server 使用T-SQL将文本插入文本文件

Sql server 使用T-SQL将文本插入文本文件,sql-server,tsql,Sql Server,Tsql,我在一个表上有一个光标,对于这个表记录上的每次迭代,我都要生成一个文本并将其插入到一个txt文件中。有什么想法吗,我该怎么做呢?下面是我是怎么做的 您可以将其替换为光标 EXEC sp_configure 'show advanced options', 1 RECONFIGURE; EXEC sp_configure 'Ole Automation Procedures', 1; RECONFIGURE; Declare @RepID int,@String varchar(max) De

我在一个表上有一个光标,对于这个表记录上的每次迭代,我都要生成一个文本并将其插入到一个txt文件中。有什么想法吗,我该怎么做呢?

下面是我是怎么做的

您可以将其替换为光标

EXEC sp_configure 'show advanced options', 1
RECONFIGURE;
EXEC sp_configure 'Ole Automation Procedures', 1;
RECONFIGURE;


Declare @RepID int,@String varchar(max)
Declare @Cursor as Cursor;

Set @Cursor = Cursor For
SELECT RepID,RepText FROM Reps   --<< Your QUERY goes here  

Open @Cursor;
Fetch Next From @Cursor into @RepID, @String;

While @@FETCH_STATUS = 0
Begin
    Declare @Destination varchar(150) 
    Set @Destination = @InputFolder + cast(@RepID as varchar(25)) +'.txt'
    Exec [dbo].[prc-Write-To-File] @String,@Destination 
    Fetch Next From @Cursor Into @RepID, @String;
End

Close @Cursor;
Deallocate @Cursor;
EXEC sp_配置“显示高级选项”,1
重新配置;
EXEC sp_配置“Ole自动化过程”,1;
重新配置;
声明@RepID int,@String varchar(最大值)
将@Cursor声明为Cursor;
将@Cursor=光标设置为

选择RepID,RepText FROM Reps--根据问题指南,请展示您的尝试,并告诉我们您(在本网站或其他地方)发现了什么,以及为什么它不能满足您的需求。老实说,这不是解决问题的好方法。您应该有一个应用程序或脚本,可以从数据库中提取数据,然后将其写入磁盘。@DaleK我只想知道如何将nvarchar(max)变量的内容导出到我的系统上特定地址的文本文件中。只需使用
sqlcmd
batch命令,传递查询,并将其输出到文件。SQL本身并不用于将内容写入磁盘
ALTER Procedure [dbo].[prc-Write-To-File] (@text as Varchar(Max), 
@Filename Varchar(200)) AS
Begin
    Declare @Object int,@rc int,@FileID Int

    EXEC @rc = sp_OACreate 'Scripting.FileSystemObject', @Object OUT
    EXEC @rc = sp_OAMethod @Object , 'OpenTextFile' , @FileID OUT , @Filename , 2 , 1
    Set @text = Replace(Replace(Replace(@text,'&','&'),'<' ,'<'),'>','>')
    EXEC @rc = sp_OAMethod @FileID , 'WriteLine' , Null , @text
    Exec @rc = MIMIC.dbo.sp_OADestroy @FileID
    Declare @Append bit
    Select @Append = 0
    If @rc <> 0
    Begin
        Exec @rc = MIMIC.dbo.sp_OAMethod @Object, 'SaveFile',null,@text ,@Filename,@Append
    End
    Exec @rc = MIMIC.dbo.sp_OADestroy @Object
End