SSIS 无法在 unicode 和非 unicode 之间转换...但事实并非如此,这是怎么回事?

SSIS Cannot convert between unicode and non unicode...but it's not true, how come?

我有一个简单的 DTSX,它接收一些数据,并将其写入 SQL 服务器数据库,在执行 DTSX 时,它在某些字段上抛出了一些错误:

[OLE DB Destination [29]] Error: Column "mobile" cannot convert between unicode and non-unicode string data types.

但是正如您从 OLEDB DESTINATION COLUMNS MAPPING 中看到的那样,这不是真的...怎么会呢?

我不久前就有过这个。在连接管理器中,我检查了 'Unicode'。在我发现它不是 unicode 后,我取消了它,但是数据流任务中的 OLE DB 输入没有更新,我不得不删除输入并重新创建它。

我已经通过在从源 table 中选择时将数据转换为 varchar(max) 来解决这个问题。