Подходящий тип данных .Net для десятичного числа (20,0) - PullRequest
0 голосов
/ 30 апреля 2009

У меня есть некоторые sql, возвращающие десятичный (20,0) тип данных. В SSIS у меня есть пакет с циклом foreach. В моих сопоставлениях переменных, к какому типу переменных я привязал бы это? Я пробовал Int32, Int64, double, и все еще получаю ошибку «Тип значения, назначаемого переменной« User :: iID », отличается от текущего типа переменной ...»

Ответы [ 7 ]

2 голосов
/ 01 мая 2009

Вы уже пробовали десятичную дробь?

2 голосов
/ 22 июля 2009

В моем случае конструктор переменных служб SSIS не отображал типы данных «Десятичное» или «Числовое», чтобы выбрать для размещения моего десятичного (18,2) значения.

Я изменил свою переменную на Object и смог прочитать значение Decimal (18,2) из ​​результирующего набора одного сохраненного процесса и передать его в качестве параметра с типом Money второму SP.

Так что я бы использовал «Объект», если вы не можете найти тип в списке переменных, который вам подходит.

1 голос
/ 01 мая 2009

SSIS имеет десятичный и числовой типы. Вы можете использовать любой из них, и он пройдет (за исключением, может быть, в Union All, где вы должны убедиться, что они имеют одинаковую точность и масштаб).

Подробнее о типах данных здесь .

0 голосов
/ 31 мая 2009

Вам потребуется преобразовать тип данных SQL в Int64, прежде чем поместить его в переменную пакета Int64.

Как у вас это получается, как выходной параметр?

В потоке данных вы, очевидно, читаете его в десятичном / числовом формате, а затем конвертируете в Int64 в компоненте преобразования данных.

Если вы пытаетесь напрямую отобразить выходной параметр из задачи «Выполнить команду SQL», вам, вероятно, придется использовать временную переменную пакета объектов, а затем преобразовать ее в задаче сценария в настоящую переменную пакета Int64.

0 голосов
/ 01 мая 2009

Десятичный код SQL (20,0) имеет точность 20, что соответствует 13 байтам памяти. Десятичное число .Net составляет 16 байтов и должно работать.

0 голосов
/ 01 мая 2009

Моя рекомендация - число с плавающей запятой или десятичное число.

0 голосов
/ 01 мая 2009

.NET decimal имеет методы decimal.ToInt64 () , decimal.ToInt32 () и т. Д.

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