SQL Server Integration Services(SSIS)パッケージ内にSQLクエリがあります。プレビューでは列の順序が正しく表示されますが、実際の出力では異なる列の順序が使用されます。
これは、別のアプリケーションにインポートするために.csv
ファイルにエクスポートされ、特定の順序にする必要があります。
最初に日付列が必要です。OLE DBソースエディタウィンドウでデータ出力をプレビューするとそのように表示されますが、[列]をクリックしてその順序を表示すると最後の位置で出力することを示しています。
SQLクエリは次のとおりです。
DECLARE @now DATETIME;
SET @now = GETDATE()-45;
SELECT CONVERT(VARCHAR(8), [ORDERS].[STARDAT], 10) AS [MM-DD-YY], [ORDERS].[CLIENTID],
[ORDERS].[SAMPNAME], [ANALYTES].[OP10AN], [RESULTS].[FINAL]
FROM [ORDERS], [RESULTS], [RUNS], [ANALYTES], [SamNam]
WHERE [ORDERS].[sampname] = [SamNam].[SName]
AND [RUNS].[RUNSTS]= 'D'
AND [RUNS].[COMPDATE]>@now
AND [ORDERS].[SAMPTYPE] IS NULL
AND [ORDERS].[ORDNO] NOT IN (308333,308334)
AND [ORDERS].[CLIENTID] <> 'Ind Waste'
AND [RESULTS].[ORDNO]=[ORDERS].[ORDNO]
AND [RESULTS].[RUNNO]=[RUNS].[RUNNO]
AND [RESULTS].[ANALPRINT]= 'Y'
AND [ANALYTES].[SINONYM] =[RESULTS].[SINONYM]
AND [ANALYTES].[TESTCODE] =[RESULTS].[TESTCODE]
AND [ANALYTES].[OP10AN] IS NOT NULL
ORDER BY [ORDERS].[ordno];
クエリが好転している理由を入力してください。
OLE DB Sourceの[列]ページで、列の横にあるチェックボックスを使用して順序を変更できます。
列は、チェックされる順序で出力に追加されるため、すべての列のチェックを外してから、正しい順序で再度チェックする必要があります。
列マッピングが「壊れた」ため、下流のデータフロータスクは自分自身を更新する必要がありますが、これは修正する大きな問題ではありません。