0

varbinary(max) 列を含むテーブルがあり、この列はアプリケーションのリッチ テキスト フィールドに使用されます (ドキュメントの添付には使用されません)。非常に単純な ssis パッケージを使用して、列をフラット ファイルにエクスポートしようとしています。私のパッケージには、oledb コースとフラット ファイルの宛先が含まれています。

フラットファイル出力を開いたところ、驚いたことに、データが 255 文字に切り捨てられていることがわかりました。すべてのデータを完全にエクスポートする方法はありますか?

助けてくれてありがとう。

4

1 に答える 1

3

どのように使用するのかが明確になるのを待っている間、エクスポート列の変換を確認することをお勧めします。この質問に対する同様の必要性 SSISを使用してテーブルデータのXML表現をファイルに抽出する

バイナリデータをエクスポートする方法を示す簡単な例を紹介しました。次のクエリは、varbinary(max)としてキャストする前に、いくつかの文字列を連結します。また、使用される出力ファイルとなる2番目の列を生成します。

WITH STARTER(starter) AS
(
    -- some simple data
    SELECT 'a'
    UNION ALL SELECT 'b'
    UNION ALL SELECT 'c'
)
,  VCM(longenough) AS
(
    SELECT
        CAST(REPLICATE(T.starter, 8000) AS varchar(max))
    FROM
        STARTER T
)
SELECT
    CAST(V0.longenough + V1.longenough AS varbinary(max)) AS BlobData
,   'C:\ssisdata\filename.' + CAST(row_number() OVER (ORDER BY (SELECT NULL)) AS varchar(10)) + '.txt' AS FileName
FROM
    VCM V0
    CROSS APPLY
    VCM V1;

SSISの構成は簡単です。上記のクエリをソースとして使用しました。 シンプルなデータフロー

メタデータが期待どおりに表示されることを確認しました-うん、BLobData列は画像です

メタデータ

エクスポート列トランスフォーメーションを構成します。ファイルがすでに存在する場合、タスクは次のように失敗します。[追加を許可]または[切り捨てを強制]オプションをオンにする必要があります。

列変換エディターのエクスポート

于 2012-10-03T17:39:06.123 に答える