5

MSSQL 2008 R2 管理スタジオで次のようなコードを使用して、SELECT ステートメントの結果をネットワーク共有上の csv ファイルに書き込みます。

SET NOCOUNT ON;   
GO    
:OUT \\163.123.45.678\SomeFolder\mydata.csv    
SELECT id, name, surname FROM sometable;    
GO

これにより、mydata.csv正しい場所にファイルが作成されますが、csv ファイルの末尾に余分な空白行があります。その空白行がcsvファイルに作成されないようにするにはどうすればよいですか?

上記は、SQL クエリの出力をテキスト ファイルに書き込むための最良の方法ですか? BCP を使用できません。

ありがとう。

4

3 に答える 3

1

SSIS パッケージを使用して、クエリ結果を .CSV 形式で取得できると思います。2 つの行の間に空白行やスペースが入る場合があります。その場合は、「派生列」変換タスクを実行して、不要なスペースや行を削除またはトリムしてください。

于 2012-12-27T10:45:06.903 に答える
0

コマンドプロンプトから以下を試してみてはいかがでしょうか?

C:\>sqlcmd -S SQLServerHost -W -Q "SET NOCOUNT ON; SELECT TOP 5 date_id, previous_date, next_date FROM dates WHERE month_key = 201212" > testNoLine.txt

結果:

ここに画像の説明を入力

生成されたファイルには、下部に余分な行はありません (SSMS の実行とは異なります)。

于 2012-12-27T17:01:30.720 に答える
0

最終的には、SSIS パッケージを使用する方がはるかに優れたソリューションでした。

于 2013-04-15T19:00:01.830 に答える