我正在使用连接到Hadoop系统的ODBC源,并读取数据类型为Text_Stream DT_Text]
的值为4400023488
的列PONum
。使用数据转换转换将数据转换为string [DT_WSTR]
,然后使用OLE DB Destination将数据插入SQL Server(目标列的类型是Unicode字符串DT_WSTR
(
我可以在SQL Server表中插入值,但格式不正确,㐴〰㌵㠵㔹
的预期值为4400023488
。
有什么建议吗?
我有两个建议:
- 在将
DT_TEXT
值转换为unicode之前,请使用将其转换为DT_STR
的派生列,而不是使用数据转换转换:
(DT_WSTR, 4000)(DT_STR, 4000, 1252)[ColumnName]
请确保使用适当的编码替换1252
。
此外,还可以使用脚本组件:SSIS:将文本流DT_text转换为DT_WSTR
- 使用Hadoop SSIS连接管理器和HDFS源代码,而不是使用ODBC:
- SSIS Hadoop连接管理器和相关任务
- 使用SSIS Hadoop组件导入和导出数据