Sql server 使用T-SQL将文本插入文本文件
我在一个表上有一个光标,对于这个表记录上的每次迭代,我都要生成一个文本并将其插入到一个txt文件中。有什么想法吗,我该怎么做呢?下面是我是怎么做的 您可以将其替换为光标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
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