SQLビューに連結テキストが含まれています。CSVのエクスポートに失敗しました。エクスポート後にSQLの改行が表示されます。
このテキストは、関数から来ている:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[FC01_FunctionName]
(@OrderNr VARCHAR(200))
RETURNS VARCHAR(2000)
BEGIN
declare @r varchar(2000)
declare @z varchar(2000)
DECLARE cc CURSOR FOR
SELECT SL.Description
FROM dbo.[DBName] SL
WHERE x = @OrderNr AND y = 1
SET @r = ''
OPEN cc
WHILE (0 = 0)
BEGIN
fetch next from cc into @z
if (@@fetch_status <> 0)
break
if (@r = '')
begin
set @r = @z
end
else
begin
set @r = @r + char(13) + char(10) + @z
end
end
close cc
deallocate cc
return @r
end
結果は以下のようになります。あなたは、時にはそれがコール24時間のように単に '1は' text-要素だ見ることができるように
。 ... 'など、複数のテキスト要素がある場合があります。' * Item No ... Please ... * ... 'など。
ビューを.csv
ファイルにエクスポートするたびに、複数のテキスト要素を持つ行に問題が発生しました。追加のテキスト要素ごとに新しい行が作成され、書式が破棄されます(黄色の印字されたテキストはすべて1つのフィールドに表示されます。「*** Item ...」というテキストのフィールド)。
最後の(黄色のマークが付いた)テキスト要素の後に、通常の項目が続きます。
.csv
輸出にSQLビューを行うジョブのプロパティは、以下のとおりである:
sqlcmd -W -s ";" -E -d master -Q "SET NOCOUNT ON; SELECT * FROM [DB].[dbo].[ViewName];" -o "c:\Temp\XXX.csv"
私は、エクスポート機能は、テキスト要素が分離されていると、おそらく、なぜ機能理由のthatsと考えていると信じていますすべての要素に新しい行を使うことにします。 私は、フィールドの結果を作成するSQL関数で何かを変更しなければならないと思っています。
これは、データを取得するビューのSQLクエリの一部です:
(SELECT [dbo].[FC01_FunctionName] ( x.[FieldName])) as [ColumnName],
任意のアイデア?ご協力ありがとうございます!
テキストリーダーの改行である 'char(13)+ char(10)'を挿入しています。 – Serg
パーフェクト!それでおしまい!私はchar(13)を削除し、char(10)を ''で置き換えて空白文字を作成しました。とても簡単です、ありがとうございます! – Starburst