sql-server – csv import的ssis数据流中的任务错误

我使用
Windows服务器中的sqlplus将一些数据导出到csv文件.

我正在尝试使用SSIS将csv文件导入sql server但是出现此错误:

[OLE DB Destination [1743]] Error: An error occurred while setting up
a binding for the "TECHNOLOGY" column. The binding status was  
"DT_TEXT". The data flow column type is
"DBBINDSTATUS_UNSUPPORTEDCONVERSION". The conversion from the OLE DB
type of "DBTYPE_IUNKNOWN" to the destination column type of
"DBTYPE_VARCHAR" might not be supported by this provider.

目标表是使用oracle表中的ddl创建的,而在SSIS中的数据流任务中,varchar列是DT_TEXT数据类型.在dest表中,它们是varchar(10),在oracle中,它们也是varchar(10)

我尝试使用带有此表达式的派生列:
(DT_STR,12,1252)[第1栏]

但是得到这个错误:

[OLE DB Destination [1770]] Error: An error occurred while setting up a binding for the     "TECHNOLOGY" column. The binding status was "DT_TEXT". The data flow column type is "DBBINDSTATUS_UNSUPPORTEDCONVERSION". The conversion from the OLE DB type of "DBTYPE_IUNKNOWN" to the destination column type of "DBTYPE_VARCHAR" might not be supported by this provider.

有什么想法吗?

最佳答案 右键单击数据流中的源转换,然后转到高级编辑器.那里会有一个列列表,显示源的输出,包括数据类型.验证它是否将列作为文本输出,并确保您在此过程中所有派生的列输出或其他转换不会修改或替换数据类型.

如有必要,在目标之前插入派生列转换,并替换列并强制它为文本.

还要验证出站数据流中列到目标列的映射,以确保它按照您的预期进行映射.

点赞