1

我有一个从 Oracle 数据源读取表的包。SSIS 为表(标识列)的代理键分配了数字(6,0)数据类型。

当我将该列放入派生列组件并将其转换为 (DT_STR,100,1252) 以存储在下游的查找表中时,字符串列会产生不正确的输出 - 但以一种非常奇怪的方式。

这是一些示例输出:

ID ID_AS_STRING
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 0
11 11
12 12
.
.
20 0
21 21
22 22
.
.
.
30 0
.
.
40 0

基本上,如果 ID 可以被 10 整除,它会丢弃 ID 的前一位数字(这会持续到成百上千,即 740 变为 40,9920 变为 920。)

不用说,这是双重错误,因为它错过了一些用于查找的 ID 并创建了其他 ID 的重复项。

如果您将初始列数据类型更改为四位整数,它可以正常工作,所以在某种程度上这个问题只是学术性的。但是任何人都可以解释 SSIS 中发生了什么以删除 mod-10 数字的前导数字吗?

4

0 回答 0