在 SSIS 中将 ODBC DB2 源转换为平面文件错误
Posted
技术标签:
【中文标题】在 SSIS 中将 ODBC DB2 源转换为平面文件错误【英文标题】:Convert ODBC DB2 source to Flat File error in SSIS 【发布时间】:2017-05-04 08:39:38 【问题描述】:我有 ODBC DB2 查询从数据库中获取数据,列的数据类型仅包含 varchar(x)、日期和 int。
但是,我想将它们保存在平面文件目标中,但无法使用 UTF-8 编码。 SSIS 不断通知以下错误消息:
[平面文件目标 si_ce_f_hotel_capacity_snapshot_weekly [2]] 错误:数据转换失败。列的数据转换 “SOURCE_MARKET_CODE”返回状态值 2 和状态文本“The 由于可能会丢失数据,因此无法转换值。”。
此列具有来自源的 varchar(2) 数据类型。我在 ssis 平面文件结构中将此数据类型指定为 DT_WSTR (2)。
但是,当我将文件格式更改为 Unicode 时,一切正常。
如何在 UTF-8 中完成这项工作??
非常感谢您的回答。
【问题讨论】:
【参考方案1】:varchar -> DT_STR Nvarchar -> DT_WST
您应该将ssis平面文件结构中的数据类型指定为DT_STR或使用ssis数据转换转换工具
【讨论】:
【参考方案2】:您需要在数据流的中间进行数据转换。这可以通过使用派生列或数据转换数据流转换来完成。
【讨论】:
以上是关于在 SSIS 中将 ODBC DB2 源转换为平面文件错误的主要内容,如果未能解决你的问题,请参考以下文章
在 SSIS 中将日期 DD.MM.YYYY hh:mm:ss 转换为 YYYY-MM-DD