将 SSIS 与 Oracle 一起使用时最后一个字符的无声截断

jos*_*sjo 5 oracle ssis

我正在使用 SSIS 从 Oracle 数据库导出数据。有时,当我将 VARCHAR2 列导出到 NVARCHAR 时,最后一个字符会被截断(静默)。据我所知,这完全是随机的。我曾尝试使用不同的 SSIS 数据类型(DT_STR、DT_WSTR 和 DT_NTEXT),但问题仍然存在。源字符串总是 12 个字符长(仅 [0-9A-Z]),但是当我检查目标数据库时,某些列缺少最后一个字符。

我使用最新的 32 位 Oracle Instant Client (11.2) 和 ODBC 和 SQL Server 2008 R2。我将 ADO .NET 用于源和目标。源字符集为 AMERICAN_AMERICA.WE8ISO8859P1,源列和目标列分别声明为 VARCHAR2 (12 BYTES) 和 NVARCHAR(12)。

jos*_*sjo 4

看起来问题是由数据流任务引起的,其中我有两个不同的数据流并行运行。两个数据源中都涉及相同的源表,但目的地不同。当我将任务分成两个依次运行的任务时,截断问题似乎已经消失了。