我们有一个带有 varbinary(max) 列的表,该列用于应用程序中的富文本字段(不用于附加文档)。我正在尝试通过一个非常简单的 ssis 包将列导出到平面文件中。我的包包含 oledb 课程和平面文件目标。
当我打开平面文件输出时,我惊讶地发现数据被截断为 255 个字符,你知道如何完全导出所有数据吗?
谢谢帮助。
我们有一个带有 varbinary(max) 列的表,该列用于应用程序中的富文本字段(不用于附加文档)。我正在尝试通过一个非常简单的 ssis 包将列导出到平面文件中。我的包包含 oledb 课程和平面文件目标。
当我打开平面文件输出时,我惊讶地发现数据被截断为 255 个字符,你知道如何完全导出所有数据吗?
谢谢帮助。
在等待澄清您打算如何使用它的同时,我建议您查看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 列是一个图像
配置导出列转换。如果文件已存在,则任务将失败,如图所示。您需要检查 Allow Append 或 Force Truncate 选项。