SQL Serverを使用していて、5000行のクエリを実行しました。私は、各行を別々のテキストファイルとして保存する必要があります。それを行う方法はありますか?結果の各行をSQL Serverの別のテキストファイルに選択する方法
0
A
答えて
1
SSISを使用して、私はそれをすべて入力しましたが、ここではスクリーンショットで詳しく説明したサイトがあります。
https://coldlogics.wordpress.com/2011/04/09/using-ssis-to-dynamically-create-data-files-from-a-full-result-set/
0
あなたはむしろTSQLで行います。さて、私はストアドプロシージャのクレジットを取ることはできません、それはしばらく前から持ち上げられました。
あなたは必須あなたが適切な権限
EXEC sp_configure 'show advanced options', 1
GO
EXEC sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE;
GO
2を持って提供する)ステップ3で
1を最初のクエリとDESTINATIONを変更する必要があります)ストアドプロシージャを作成します。 - データベース名を提供する必要があります
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
3)次に方法が常にある
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;
関連する問題
- 1. SQL Serverの各パーティションに最大rownumberを選択する方法
- 2. SQL-Serverの:複数行に分割選択値は、結果
- 3. SQL Serverのプロシージャ:動的SQL内の結果を選択
- 4. 垂直選択結果の代わりに水平結果のSQL Serverの
- 5. SQL Server:1つの行に複数の選択結果を挿入します。
- 6. を選択し、SQL Serverの結果に列の値を変換するには、
- 7. SQL Serverの結果を別のテーブルと結合する
- 8. SQL結合の結果から最大日付を選択する方法
- 9. 選択の結果 "" と別のテーブル
- 10. 選択ステートメントの結果をストアドプロシージャの別の選択に使用する
- 11. SQL:別のテーブルから行とマイナスを選択する方法
- 12. SQL-各クエリの結果を別々にフィルタリングする
- 13. SQL Serverの結果を1行に連結する
- 14. 選択:結果セットの最初の行を空白にする方法とその後の結果
- 15. SQL Server:サブクエリ、ConnectWiseデータベースの結果の合計を選択します。
- 16. ループスルーSQL Serverステートメントの結果を選択し、別のSELECTクエリに使用します。
- 17. SQL - 結果を返すマルチ選択クエリ
- 18. SQL Server 2012で2つの選択クエリを結合する方法
- 19. PL/SQL:デュアルから複数行の関数結果を選択
- 20. SQL Server:各機関のすべてのモデルの合計を選択し、各モデルの数を選択します
- 21. SQL Serverの1つのテーブルの各列のユニークな結果
- 22. テーブルに行ID列がないSQL Server 2008のクエリ結果からn番目の行を選択
- 23. SQL Serverストアドプロシージャの結果を.Netに返す方法
- 24. SQL Server:結果行を掛ける
- 25. SQL Server:TOPレコードを選択し、別のテーブルで結果を更新する
- 26. 関数内のテーブル結果をソートする方法SQL Server?
- 27. MySQLクエリの各結果をテキストファイルに1つずつ入れる方法は?
- 28. SQLの結果で選択された行
- 29. SQL Serverのテーブルから複数の最大行を選択する方法
- 30. SQL - 別のテーブルの値に基づいて行を選択する方法は?
CURSOR内から実行してください。しかし、ここでの質問はなぜですか?それはたくさんのファイルです。 –
私はその中にデータとして完全なxmlを持っていて、各行をテキストファイルとして持つビジネス要件がありました – HadoopAddict