Числовое преобразование производного столбца служб SSIS (6,0) в строку ANSI сбрасывает начальные цифры - PullRequest
1 голос
/ 19 августа 2011

У меня есть пакет, который читает таблицу из источника данных Oracle. Суррогатному ключу для таблицы (столбец идентификаторов) был присвоен числовой (6,0) тип данных с помощью служб SSIS.

Когда я беру этот столбец в компонент Производный столбец и приводим его как (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
<b>10   0</b>
11  11
12  12
.
.
<b>20   0</b>
21  21
22  22
.
.
.
<b>30   0</b>
.
.
<b>40   0</b>

По сути, он отбрасывает первую цифру идентификатора, если он делится на 10 (это делится на сотни и тысячи, то есть 740 становится 40, 9920 становится 920).

Излишне говорить, что это вдвойне неправильно, поскольку он пропускает некоторые идентификаторы для поиска и создает дубликаты других.

Если вы измените исходный тип данных столбца на четырехбитное целое число, оно будет работать нормально, так что в некотором смысле этот вопрос носит чисто академический характер. Но кто-нибудь может объяснить, что происходит в SSIS, чтобы убрать эту начальную цифру числа мод-10?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...