Типы данных служб Integration Services

Применимо к: SQL Server Integration Runtime служб SSIS в Фабрика данных Azure

Когда данные входят в поток данных в пакете, источник, извлекающий данные, преобразовывает их в тип данных служб Службы Integration Services . Числовым данным назначается числовой тип данных, строковым — символьный тип данных, а датам — тип даты. Другим данным, таким как идентификатор GUID и BLOB (Binary Large Object Blocks), также назначаются соответствующие типы данных служб Службы Integration Services . Если данные имеют тип, не преобразуемый в тип данных служб Службы Integration Services , возникает ошибка.

Некоторые компоненты потока данных преобразуют типы данных между типами данных служб Службы Integration Services и управляемыми типами данных Microsoft .NET Framework. Дополнительные сведения о сравнении между службами Службы Integration Services и управляемыми типами данных см. в разделе Работа с типами данных в потоке данных.

В следующей таблице перечислены типы данных служб Службы Integration Services . К некоторым из типов данных в таблице применяются сведения о масштабе и точности. Дополнительные сведения о точности и масштабе см. в разделе Точность, масштаб и длина (Transact-SQL).

Тип данных Описание
DT_BOOL Значение типа Boolean.
DT_BYTES Значение двоичных данных. Длину можно изменять. Максимальная длина составляет 8000 байт.
DT_CY Значение денежного типа. Этот тип данных представляет собой восьмибайтовое целое число со знаком, с масштабом 4 и максимальной точностью в 19 цифр.
DT_DATE Структура даты, состоящая из года, месяца, дня, часа, минуты, секунд и долей секунды. Для долей секунды используется фиксированный масштаб в 7 разрядов.

Тип данных DT_DATE представляет собой 8-байтовое число с плавающей запятой. Дни представлены целым числом, где за ноль принято значение полночь 30 декабря 1899. Значение часа выражается абсолютным значением дробной части числа. Тем не менее, значение с плавающей запятой не может представить все реальные значения, поэтому есть пределы отображения ряда дат в DT_DATE.

С другой стороны, тип данных DT_DBTIMESTAMP представлен структурой, имеющей внутри себя отдельные поля для года, месяца, дня, часов, минут, секунд и миллисекунд. Такой тип данных имеет более широкие границы диапазона дат, которые он может представлять.
DT_DBDATE Структура даты, состоящая из года, месяца и дня.
DT_DBTIME Структура времени, состоящая из часа, минуты и секунды.
DT_DBTIME2 Структура времени, состоящая из часа, минуты и секунды и долей секунды. Максимальный масштаб для долей секунд — 7 разрядов.
DT_DBTIMESTAMP Структура отметки времени, включающая год, месяц, день, час, минуты, секунды и доли секунд. Максимальный масштаб для долей секунд — 3 разряда.
DT_DBTIMESTAMP2 Структура отметки времени, включающая год, месяц, день, час, минуты, секунды и доли секунд. Максимальный масштаб для долей секунд — 7 разрядов.
DT_DBTIMESTAMPOFFSET Структура отметки времени, включающая год, месяц, день, час, минуты, секунды и доли секунд. Максимальный масштаб для долей секунд — 7 разрядов.

В отличие от типов данных DT_DBTIMESTAMP и DT_DBTIMESTAMP2, тип данных DT_DBTIMESTAMPOFFSET имеет смещения часового пояса. Это смещение задает число часов и минут, на которое это время смещено относительно времени в формате UTC. Смещение часового пояса используется системой для получения местного времени.

Смещение часового пояса должно включать знак плюс или минус, чтобы показать, добавляется или вычитается смещение из времени в формате UTC. Допустимый диапазон часов для смещения — от -14 до +14. Знак смещения для минуты зависит от знака смещения для часа:

Если смещение часа имеет отрицательный знак, то смещение минуты также должно быть отрицательным или равняться нулю.

Если смещение часа имеет положительный знак, то смещение минуты также должно быть положительным или равняться нулю.

Если смещение часа равно нулю, то смещение минуты может иметь любое значение от отрицательного 0.59 до положительного 0.59.
DT_DECIMAL Точное числовое значение с заданной точностью и фиксированным масштабом. Этот тип данных является 12-байтовым беззнаковым целым числом с отдельным знаком, масштабом от 0 до 28 и максимальной точностью 29.
DT_FILETIME 64-битное значение, представляющее количество 100-наносекундных интервалов с 1 января 1601 года. Максимальный масштаб для долей секунд — 3 разряда.
DT_GUID Глобальный уникальный идентификатор (GUID).
DT_I1 Однобайтовое целое число со знаком.
DT_I2 Двухбайтовое целое число со знаком.
DT_I4 Четырехбайтовое целое число со знаком.
DT_I8 Восьмибайтовое целое число со знаком.
DT_NUMERIC Точное числовое значение с заданной точностью и масштабом. Этот тип данных является 16-байтовым беззнаковым целым числом с отдельным знаком, масштабом от 0 до 38 и максимальной точностью 38.
DT_R4 Значение с плавающей точкой одинарной точности.
DT_R8 Значение с плавающей точкой двойной точности.
DT_STR Строка кодировки ANSI/многобайтной кодировки (MBCS), заканчивающаяся нулевым байтом, с максимальной длиной 8000 символов. (Если значение столбца содержит дополнительные символы конца строки, строка усекается в месте вхождения первого такого символа).
DT_UI1 Однобайтовое беззнаковое целое число.
DT_UI2 Двухбайтовое беззнаковое целое число.
DT_UI4 Четырехбайтовое беззнаковое целое число.
DT_UI8 Восьмибайтовое беззнаковое целое число.
DT_WSTR Строка в Юникоде заканчивающаяся символом конца строки с максимальной длиной 4000 символов. (Если значение столбца содержит дополнительные символы конца строки, строка усекается в месте вхождения первого такого символа).
DT_IMAGE Двоичное значение с максимальным размером 2^31–1 (2 147 483 647) байт. .
DT_NTEXT Строка символов в Юникоде с максимальной длиной 2^30–1 (1 073 741 823) символов.
DT_TEXT Строка символов кодировки ANSI/многобайтной кодировки (MBCS) с максимальной длиной 2^31–1 (2 147 483 647) символов.

Преобразование типов данных

Если тип источника данных не требует распределения данных по всей ширине столбца, можно изменить тип данных столбца. Максимально короткие строки данных помогают оптимизировать производительность при передаче данных, так как чем короче каждая строка, тем быстрее данные перемещаются от источника к целевому объекту.

Службы Integration Services включают полный набор числовых типов данных, так что можно сопоставить типы данных с размером данных. Например, если значения в столбце с типом данных DT_UI8 всегда являются целыми числами от 0 до 3000, то можно изменить тип данных на DT_UI2. Подобным образом, если столбец с типом данных DT_CY соответствует требованиям данных пакета, используя целочисленный тип данных, можно изменить тип данных на DT_I4.

Можно изменить тип данных столбца следующим образом:

Преобразование между строковым типом данных и типами данных даты-времени

В следующей таблице приведены результаты приведения или преобразования между строковыми типами данных и типами данных даты-времени.

  • При использовании оператора приведения или преобразования «Конвертация данных» тип данных даты или времени будет преобразован в соответствующий строковый формат. Например, тип данных DT_DBTIME будет преобразован в строку в формате «hh:mm:ss».

  • Если нужно преобразовать строку в тип данных даты или времени, то строка должна быть представлена в формате соответствующего типа данных. Например, для успешного преобразования строки даты в тип данных DT_DBDATE она должна иметь формат «гггг-мм-дд».

    Тип данных Формат строки
    DT_DBDATE гггг-мм-дд
    DT_FILETIME гггг-мм-дд чч:мм:сс:fff
    DT_DBTIME чч:мм:сс
    DT_DBTIME2 чч:мм:сс[.fffffff]
    DT_DBTIMESTAMP гггг-мм-дд чч:мм:сс:[.fff]
    DT_DBTIMESTAMP2 дд-мм-гггг чч:мм:сс:[.fffffff]
    DT_DBTIMESTAMPOFFSET дд-мм-гггг чч:мм:сс[.ffffff] [{+|-} чч:мм]

В формате для типов данных DT_FILETIME и DT_DBTIMESTAMP параметр fff имеет значение от 0 до 999, представляющее доли секунды.

В формате даты для типов данных DT_DBTIMESTAMP2, DT_DBTIME2 и DT_DBTIMESTAMPOFFSET параметр fffffff имеет значение от 0 до 9999999, представляющее доли секунды.

В формат даты для типа данных DT_DBTIMESTAMPOFFSET также включен элемент часового пояса. Между элементами времени и часового пояса существует пробел.

Преобразование типов данных «дата-время»

Можно изменить тип данных столбца с данными «дата-время» для извлечения даты или временной части данных. В следующей таблице приводятся результаты переходов от одного типа данных «дата-время» к другому.

Преобразование из типа данных DT_FILETIME

Преобразование типа данных DT_FILETIME в Результат
DT_FILETIME Без изменений.
DT_DATE Преобразует тип данных.
DT_DBDATE Удаляет значение времени.
DT_DBTIME Удаляет значение даты.

Удаляет значение доли секунды в том случае, если ее масштаб больше числа десятичных знаков, которое может содержать тип данных DT_DBTIME. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DBTIME2 Удаляет значение даты, представленное типом данных DT_FILETIME.

Удаляет значение для долей секунд, если его масштаб больше числа разрядов, предусмотренного для типа данных DT_DBTIME2. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DBTIMESTAMP Преобразует тип данных.
DT_DBTIMESTAMP2 Удаляет значение для долей секунды, если его масштаб больше числа разрядов, предусмотренного для типа данных DT_DBTIMESTAMP2. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DBTIMESTAMPOFFSET Устанавливает поле часового пояса для типа данных DT_DBTIMESTAMPOFFSET в нулевое значение.

Удаляет значение долей секунд, если его масштаб больше числа разрядов, предусмотренного для типа данных DT_DBTIMESTAMPOFFSET. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.

Преобразование из типа данных DT_DATE

Преобразовать тип данных DT_DATE в Результат
DT_FILETIME Преобразует тип данных.
DT_DATE Без изменений.
DT_DBDATE Удаляет значение времени, представленное типом данных DT_DATA.
DT_DBTIME Удаляет значение даты, представленное типом данных DT_DATE.
DT_DBTIME2 Удаляет значение даты, представленное типом данных DT_DATE.
DT_DBTIMESTAMP Преобразует тип данных.
DT_DBTIMESTAMP2 Преобразует тип данных.
DT_DBTIMESTAMPOFFSET Устанавливает поле часового пояса для типа данных DT_DBTIMESTAMPOFFSET в нулевое значение.

Преобразование из типа данных DT_DBDATE

Преобразовать тип данных DT_DBDATE в Результат
DT_FILETIME Устанавливает поля времени для типа данных DT_FILETIME в нулевое значение.
DT_DATE Устанавливает поля времени для типа данных DT_DATE в нулевое значение.
DT_DBDATE Без изменений.
DT_DBTIME Устанавливает поля времени для типа данных DT_DBTIME в нулевое значение.
DT_DBTIME2 Устанавливает поля времени для типа данных DT_DBTIME2 в нулевое значение.
DT_DBTIMESTAMP Устанавливает поля времени для типа данных DT_DBTIMESTAMP в нулевое значение.
DT_DBTIMESTAMP2 Устанавливает поля времени для типа данных DT_DBTIMESTAMP в нулевое значение.
DT_DBTIMESTAMPOFFSET Устанавливает поля времени и часового пояса для типа данных DT_DBTIME2 в нулевое значение.

Преобразование из типа данных DT_DBTIME

Преобразование типа данных DT_DBTIME в Результат
DT_FILETIME Устанавливает поля даты для типа данных DT_FILETIME в значения, соответствующие текущей дате.
DT_DATE Устанавливает поля даты для типа данных DT_DATE в значения, соответствующие текущей дате.
DT_DBDATE Устанавливает поля даты для типа данных DT_DBDATE в значения, соответствующие текущей дате.
DT_DBTIME Без изменений.
DT_DBTIME2 Преобразует тип данных.
DT_DBTIMESTAMP Устанавливает поля даты для типа данных DT_DBTIMESTAMP в значения, соответствующие текущей дате.
DT_DBTIMESTAMP2 Устанавливает поля даты для типа данных DT_DBTIMESTAMP2 в значения, соответствующие текущей дате.
DT_DBTIMESTAMPOFFSET Устанавливает поля даты для типа данных DT_DBTIMESTAMPOFFSET в значения, соответствующие текущей дате, а поле часового пояса — в нулевое значение.

Преобразование из типа данных DT_DBTIME2

Преобразование типа данных DT_DBTIME2 в Результат
DT_FILETIME Устанавливает поля даты для типа данных DT_FILETIME в значения, соответствующие текущей дате.

Удаляет значение долей секунд, если его масштаб больше числа разрядов, предусмотренного для типа данных DT_FILETIME. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DATE Устанавливает поля даты для типа данных DT_DATE в значения, соответствующие текущей дате.

Удаляет значение долей секунд, если его масштаб больше числа разрядов, предусмотренного для типа данных DT_DATE. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DBDATE Устанавливает поля даты для типа данных DT_DBDATE в значения, соответствующие текущей дате.
DT_DBTIME Удаляет значение долей секунд, если его масштаб больше числа разрядов, предусмотренного для типа данных DT_DBTIME. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DBTIME2 Удаляет значение долей секунд, если его масштаб больше числа разрядов, предусмотренного для целевого типа данных DT_DBTIME2. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DBTIMESTAMP Устанавливает поля даты для типа данных DT_DBTIMESTAMP в значения, соответствующие текущей дате.

Удаляет значение долей секунд, если его масштаб больше числа разрядов, предусмотренного для типа данных DT_DBTIMESTAMP. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DBTIMESTAMP2 Устанавливает поля даты для типа данных DT_DBTIMESTAMP2 в значения, соответствующие текущей дате.

Удаляет значение для долей секунды, если его масштаб больше числа разрядов, предусмотренного для типа данных DT_DBTIMESTAMP2. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DBTIMESTAMPOFFSET Устанавливает поля даты для типа данных DT_DBTIMESTAMPOFFSET в значения, соответствующие текущей дате, а поле часового пояса — в нулевое значение.

Удаляет значение долей секунд, если его масштаб больше числа разрядов, предусмотренного для типа данных DT_DBTIMESTAMPOFFSET. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.

Преобразование из типа данных DT_DBTIMESTAMP

Преобразование типа данных DT_DBTIMESTAMP в Результат
DT_FILETIME Преобразует тип данных.
DT_DATE Если значение, представленное типом данных DT_DBTIMESTAMP, превышает диапазон типа данных DT_DATE, то возвращается ошибка DB_E_DATAOVERFLOW. Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DBDATE Удаляет значение времени, представленное типом данных DT_DBTIMESTAMP.
DT_DBTIME Удаляет значение даты, представленное типом данных DT_DBTIMESTAMP.

Удаляет значение долей секунд, если его масштаб больше числа разрядов, предусмотренного для типа данных DT_DBTIME. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DBTIME2 Удаляет значение даты, представленное типом данных DT_DBTIMESTAMP.

Удаляет значение для долей секунд, если его масштаб больше числа разрядов, предусмотренного для типа данных DT_DBTIME2. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DBTIMESTAMP Без изменений.
DT_DBTIMESTAMP2 Удаляет значение для долей секунды, если его масштаб больше числа разрядов, предусмотренного для типа данных DT_DBTIMESTAMP2. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DBTIMESTAMPOFFSET Устанавливает поле часового пояса для типа данных DT_DBTIMESTAMPOFFSET в нулевое значение.

Удаляет значение долей секунд, если его масштаб больше числа разрядов, предусмотренного для типа данных DT_DBTIMESTAMPOFFSET. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.

Преобразование из типа данных DT_DBTIMESTAMP2

Преобразование типа данных DT_DBTIMESTAMP2 в Результат
DT_FILETIME Удаляет значение долей секунд, если его масштаб больше числа разрядов, предусмотренного для типа данных DT_FILETIME. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DATE Если значение, представленное типом данных DT_DBTIMESTAMP2, превышает диапазон типа данных DT_DATE, то возвращается ошибка DB_E_DATAOVERFLOW. Дополнительные сведения см. в разделе Обработка ошибок в данных.

Удаляет значение долей секунд, если его масштаб больше числа разрядов, предусмотренного для типа данных DT_DATE. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DBDATE Удаляет значение времени, представленное типом данных DT_DBTIMESTAMP2.
DT_DBTIME Удаляет значение даты, представленное типом данных DT_DBTIMESTAMP2.

Удаляет значение долей секунд, если его масштаб больше числа разрядов, предусмотренного для типа данных DT_DBTIME. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DBTIME2 Удаляет значение даты, представленное типом данных DT_DBTIMESTAMP2.

Удаляет значение для долей секунд, если его масштаб больше числа разрядов, предусмотренного для типа данных DT_DBTIME2. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DBTIMESTAMP Если значение, представленное типом данных DT_DBTIMESTAMP2, превышает диапазон типа данных DT_DBTIMESTAMP, то возвращается ошибка DB_E_DATAOVERFLOW.

Тип данных DT_DBTIMESTAMP2 сопоставляется с типом данных SQL Server — datetime2, имеющим диапазон от 1 января 1 года н.э. до 31 декабря 9999 г. Тип данных DT_DBTIMESTAMP сопоставляется с типом данных SQL Server — datetime, имеющим меньший диапазон значений: от 1 января 1753 г. до 31 декабря 9999 г.

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

Дополнительные сведения об ошибках см. в разделе Обработка ошибок в данных.
DT_DBTIMESTAMP2 Удаляет значение долей секунд, если его масштаб больше числа разрядов, предусмотренного для целевого типа данных DT_DBTIMESTAMP2. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DBTIMESTAMPOFFSET Устанавливает поле часового пояса для типа данных DT_DBTIMESTAMPOFFSET в нулевое значение.

Удаляет значение долей секунд, если его масштаб больше числа разрядов, предусмотренного для типа данных DT_DBTIMESTAMPOFFSET. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.

Преобразование из типа данных DT_DBTIMESTAMPOFFSET

Преобразование типа данных DT_DBTIMESTAMPOFFSET в Результат
DT_FILETIME Изменяет значение времени, представленное типом данных DT_DBTIMESTAMPOFFSET, на время в формате UTC.

Удаляет значение долей секунд, если его масштаб больше числа разрядов, предусмотренного для типа данных DT_FILETIME. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DATE Заменяет значение времени, представленное типом данных DT_DBTIMESTAMPOFFSET, временем в формате UTC.

Если значение, представленное типом данных DT_DBTIMESTAMPOFFSET, превышает диапазон типа данных DT_DATE, то возвращается ошибка DB_E_DATAOVERFLOW.

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

Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DBDATE Изменяет значение времени, представленное типом данных DT_DBTIMESTAMPOFFSET, на время в формате UTC, что может повлиять на значение даты. Затем значение времени удаляется.
DT_DBTIME Заменяет значение времени, представленное типом данных DT_DBTIMESTAMPOFFSET, временем в формате UTC.

Удаляет значение, представленное типом данных DT_DBTIMESTAMPEOFFSET.

Удаляет значение долей секунд, если его масштаб больше числа разрядов, предусмотренного для типа данных DT_DBTIME. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DBTIME2 Заменяет значение времени, представленное типом данных DT_DBTIMESTAMPOFFSET, временем в формате UTC.

Удаляет значение даты, представленное типом данных DT_DBTIMESTAMPOFFSET.

Удаляет значение для долей секунд, если его масштаб больше числа разрядов, предусмотренного для типа данных DT_DBTIME2. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DBTIMESTAMP Заменяет значение времени, представленное типом данных DT_DBTIMESTAMPOFFSET, временем в формате UTC.

Если значение, представленное типом данных DT_DBTIMESTAMPOFFSET, превышает диапазон типа данных DT_DBTIMESTAMP, то возвращается ошибка DB_E_DATAOVERFLOW.

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

Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DBTIMESTAMP2 Заменяет значение времени, представленное типом данных DT_DBTIMESTAMPOFFSET, временем в формате UTC.

Удаляет значение для долей секунды, если его масштаб больше числа разрядов, предусмотренного для типа данных DT_DBTIMESTAMP2. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.
DT_DBTIMESTAMPOFFSET Удаляет значение для долей секунды, если его масштаб больше числа разрядов, предусмотренного для целевого типа данных DT_DBTIMESTAMPOFFSET. После удаления долей секунд формируется отчет об усечении данных. Дополнительные сведения см. в разделе Обработка ошибок в данных.

Сопоставление типов данных служб Integration Services с типами данных баз данных

В следующей таблице представлены рекомендации по сопоставлению типов данных, которые используются в определенных базах данных, с типами данных служб Службы Integration Services . Эти сопоставления взяты из файлов сопоставления, которые использует мастер импорта и экспорта SQL Server при импорте данных из этих источников. Дополнительные сведения об этих файлах сопоставления см. в разделе Мастер импорта и экспорта SQL Server.

Важно!

Приведенные здесь сопоставления не представляют полного соответствия, а приводятся лишь в качестве рекомендации. В определенных условиях следует использовать другие типы данных вместо тех, которые перечислены в таблице.

Примечание

Для оценки размера типов данных даты и времени служб Integration Services можно использовать соответствующие типы данных SQL Server.

Тип данных SQL Server

(SQLOLEDB; SQLNCLI10)
SQL Server (SqlClient) Jet Oracle;

(OracleClient)
DB2

(DB2OLEDB)
DB2

(IBMDADB2)
DT_BOOL bit bit bit
DT_BYTES binary, varbinary, timestamp binary, varbinary, timestamp BigBinary, VarBinary RAW
DT_CY smallmoney, money smallmoney, money Валюта
DT_DATE
DT_DBDATE date (Transact-SQL) date (Transact-SQL) Дата Дата Дата
DT_DBTIME TIMESTAMP time time
DT_DBTIME2 time (Transact-SQL)(p) time (Transact-SQL) (p)
DT_DBTIMESTAMP datetime (Transact-SQL), smalldatetime (Transact-SQL) datetime (Transact-SQL), smalldatetime (Transact-SQL) Дата и время TIMESTAMP, DATE, INTERVAL TIME, TIMESTAMP, DATE TIME, TIMESTAMP, DATE
DT_DBTIMESTAMP2 datetime2 (Transact-SQL) datetime2 (Transact-SQL) TIMESTAMP TIMESTAMP TIMESTAMP
DT_DBTIMESTAMPOFFSET datetimeoffset (Transact-SQL)(p) datetimeoffset (Transact-SQL) (p) timestampoffset timestamp,

varchar
timestamp,

varchar
DT_DECIMAL
DT_FILETIME
DT_GUID UNIQUEIDENTIFIER UNIQUEIDENTIFIER Код GUID
DT_I1
DT_I2 smallint smallint Short SMALLINT SMALLINT
DT_I4 INT INT Long INTEGER ЦЕЛОЕ ЧИСЛО
DT_I8 BIGINT BIGINT bigint bigint
DT_NUMERIC decimal, numeric decimal, numeric Decimal NUMBER, INT decimal, numeric decimal, numeric
DT_R4 real real Single real ВЕЩЕСТВЕННОЕ ЧИСЛО
DT_R8 FLOAT FLOAT Double FLOAT, REAL FLOAT, DOUBLE FLOAT, DOUBLE
DT_STR char, varchar VarChar char, varchar char, varchar
DT_UI1 tinyint tinyint Byte
DT_UI2
DT_UI4
DT_UI8
DT_WSTR nchar, nvarchar, sql_variant, xml char, varchar, nchar, nvarchar, sql_variant, xml LongText CHAR, ROWID, VARCHAR2, NVARCHAR2, NCHAR GRAPHIC, VARGRAPHIC GRAPHIC, VARGRAPHIC
DT_IMAGE image Изображение LongBinary LONG RAW, BLOB, LOBLOCATOR, BFILE, VARGRAPHIC, LONG VARGRAPHIC, пользовательский CHAR () FOR BIT DATA, VARCHAR () FOR BIT DATA CHAR () FOR BIT DATA, VARCHAR () FOR BIT DATA, BLOB
DT_NTEXT ntext text, ntext LONG, CLOB, NCLOB, NVARCHAR, TEXT LONG VARCHAR, NCHAR, NVARCHAR, TEXT LONG VARCHAR, DBCLOB, NCHAR, NVARCHAR, TEXT
DT_TEXT текст LONG VARCHAR FOR BIT DATA LONG VARCHAR FOR BIT DATA, CLOB

Сведения о сопоставлении типов данных в потоке данных см. в разделе Работа с типами данных в потоке данных.

Запись в блоге Сравнение производительности между способами преобразования типов данных в службах SSIS 2008на сайте blogs.msdn.com.

См. также:

Данные потоков данных