Sql server 如何在SQL Server中将结果中的每一行选择为不同的文本文件
我使用的是sql server,我运行的查询产生了5000行。我希望将每一行保存为单独的文本文件。有什么方法可以做到这一点吗?使用SSIS,我本来打算把它全部打印出来,但这里有一个网站,他用截图详细介绍了它。Sql server 如何在SQL Server中将结果中的每一行选择为不同的文本文件,sql-server,ssms,Sql Server,Ssms,我使用的是sql server,我运行的查询产生了5000行。我希望将每一行保存为单独的文本文件。有什么方法可以做到这一点吗?使用SSIS,我本来打算把它全部打印出来,但这里有一个网站,他用截图详细介绍了它。 使用SSIS,我本来打算把它全部打印出来,但这里有一个网站,他在那里有详细的屏幕截图。 如果您希望在TSQL中执行此操作。现在,我不能把存储过程归功于它,它是在一段时间前被取消的 您必须在步骤3中修改初始查询和目标 如果您拥有适当的权利,则需要1个 2创建存储过程-必须提供数据库名称 3然
使用SSIS,我本来打算把它全部打印出来,但这里有一个网站,他在那里有详细的屏幕截图。
如果您希望在TSQL中执行此操作。现在,我不能把存储过程归功于它,它是在一段时间前被取消的 您必须在步骤3中修改初始查询和目标 如果您拥有适当的权利,则需要1个 2创建存储过程-必须提供数据库名称 3然后从游标内执行
如果您希望在TSQL中执行此操作。现在,我不能把存储过程归功于它,它是在一段时间前被取消的 您必须在步骤3中修改初始查询和目标 如果您拥有适当的权利,则需要1个 2创建存储过程-必须提供数据库名称 3然后从游标内执行
总有办法的。但这里的问题是为什么?这是很多文件。我有一个列,其中包含完整的xml作为数据,并且有一个业务需求,需要将每一行作为文本文件。总有一种方法。但这里的问题是为什么?这是很多文件,我有一个列,其中有一个完整的xml作为数据,并且有一个业务需求,需要将每一行作为文本文件
EXEC sp_configure 'show advanced options', 1
GO
EXEC sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE;
GO
CREATE 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 = [YourDatabaseName].dbo.sp_OADestroy @FileID
Declare @Append bit
Select @Append = 0
If @rc <> 0
Begin
Exec @rc = [YourDatabaseName].dbo.sp_OAMethod @Object, 'SaveFile',null,@text ,@Filename,@Append
End
Exec @rc = [YourDatabaseName].dbo.sp_OADestroy @Object
End
Declare @ID int,@String varchar(max)
Declare @Cursor as Cursor;
Set @Cursor = Cursor For
Select top 5 OD_Nr,OD_Title from OD --<< Your QUERY goes here
Open @Cursor;
Fetch Next From @Cursor into @ID, @String;
While @@FETCH_STATUS = 0
Begin
Print cast(@ID as VARCHAR (50)) + ' ' + @String;
Declare @Destination varchar(150)
Set @Destination = 'c:\working\test_' +cast(@ID as varchar(25))+'.txt'
Exec [dbo].[prc-Write-To-File] @String,@Destination
Fetch Next From @Cursor Into @ID, @String;
End
Close @Cursor;
Deallocate @Cursor;