Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何在SQL Server中将结果中的每一行选择为不同的文本文件_Sql Server_Ssms - Fatal编程技术网

Sql server 如何在SQL Server中将结果中的每一行选择为不同的文本文件

Sql server 如何在SQL Server中将结果中的每一行选择为不同的文本文件,sql-server,ssms,Sql Server,Ssms,我使用的是sql server,我运行的查询产生了5000行。我希望将每一行保存为单独的文本文件。有什么方法可以做到这一点吗?使用SSIS,我本来打算把它全部打印出来,但这里有一个网站,他用截图详细介绍了它。 使用SSIS,我本来打算把它全部打印出来,但这里有一个网站,他在那里有详细的屏幕截图。 如果您希望在TSQL中执行此操作。现在,我不能把存储过程归功于它,它是在一段时间前被取消的 您必须在步骤3中修改初始查询和目标 如果您拥有适当的权利,则需要1个 2创建存储过程-必须提供数据库名称 3然

我使用的是sql server,我运行的查询产生了5000行。我希望将每一行保存为单独的文本文件。有什么方法可以做到这一点吗?

使用SSIS,我本来打算把它全部打印出来,但这里有一个网站,他用截图详细介绍了它。

使用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;