我們有一個包含varbinary(max)列的表,該列用於應用程序中的Rich文本字段(不適用於附加文檔)。 我試圖通過一個非常簡單的ssis包將列導出到一個平面文件中。 我的軟件包包含oledb cource和平面文件目標。使用ssis導出Varbinary(max)列
當我打開平面文件輸出,我發現我驚訝的數據被截斷爲255個字符,你有任何想法如何導出所有的數據完全?
Thx尋求幫助。
我們有一個包含varbinary(max)列的表,該列用於應用程序中的Rich文本字段(不適用於附加文檔)。 我試圖通過一個非常簡單的ssis包將列導出到一個平面文件中。 我的軟件包包含oledb cource和平面文件目標。使用ssis導出Varbinary(max)列
當我打開平面文件輸出,我發現我驚訝的數據被截斷爲255個字符,你有任何想法如何導出所有的數據完全?
Thx尋求幫助。
雖然等待澄清你打算如何使用它,但我建議看看Export Column Transformation。類似的需求在這個問題上 Using SSIS to extract a XML representation of table data to a file
我扼殺了一個簡單的例子,說明如何做出口varbinary數據。以下查詢在將它們轉換爲varbinary(max)之前將它們連接在一起。它還會生成第二列,這將成爲使用的輸出文件。
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列是一個圖像
配置導出列轉換。如果文件已經存在,則任務將失敗,如圖所示。您需要檢查允許附加或強制截斷選項。
的意圖是,這一領域是唯一在輸出文件或將它看起來像COL1 | COL2 | col3varbinmax? – billinkc
它不會是輸出文件中的唯一字段,該表還包含普通數據類型,如int和varchar。 – Tamirt
你能提供一個你期望的輸出的例子嗎?顯然截斷varbinary數據 – billinkc