Типы данных служб Integration Services
Когда данные входят в поток данных в пакете, источник, извлекающий данные, преобразовывает их в тип данных служб 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 |
Логическое значение. |
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. Знак смещения для минуты зависит от знака смещения для часа:
|
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 |
Двоичное значение с максимальным размером 231—1 (2 147 483 647) байт. . |
DT_NTEXT |
Строка символов в Юникоде с максимальной длиной в 230-1 (1 073 741 823) символов. |
DT_TEXT |
Строка символов кодировки ANSI/многобайтной кодировки (MBCS) с максимальной длиной 231 — 1 (2 147 483 647) символов. |
Преобразование типов данных
Если тип источника данных не требует распределения данных по всей ширине столбца, можно изменить тип данных столбца. Максимально короткие строки данных помогают оптимизировать производительность при передаче данных, так как чем короче каждая строка, тем быстрее данные перемещаются от источника к целевому объекту.
Службы Integration Services включают полный набор числовых типов данных, так что можно сопоставить типы данных с размером данных. Например, если значения в столбце с типом данных DT_UI8 всегда являются целыми числами от 0 до 3000, то можно изменить тип данных на DT_UI2. Подобным образом, если столбец с типом данных DT_CY соответствует требованиям данных пакета, используя целочисленный тип данных, можно изменить тип данных на DT_I4.
Можно изменить тип данных столбца следующим образом:
Использование выражения для неявного преобразования типов данных. Дополнительные сведения см. в разделах Неявное преобразование типов данных в выражениях, Типы данных в выражениях служб Integration Services и Использование выражений в пакетах.
Использование оператора приведения для преобразования типов данных. Дополнительные сведения см. в разделе Cast (выражение служб SSIS): Преобразование типов данных служб SSIS.
Использование преобразования «Конвертация данных» для приведения типа данных столбца от одного к другому. Дополнительные сведения см. в разделе Преобразование «Конвертация данных».
Создание копии столбца, тип данных которого отличается от типа данных исходного столбца, с помощью преобразования «Производный столбец». Дополнительные сведения см. в разделе Преобразование «Производный столбец».
Преобразование между строковым типом данных и типами данных даты-времени
В следующей таблице приведены результаты приведения или преобразования между строковыми типами данных и типами данных даты-времени.
При использовании оператора приведения или преобразования «Конвертация данных» тип данных даты или времени будет преобразован в соответствующий строковый формат. Например, тип данных 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.
Важно! |
---|
Приведенные здесь сопоставления не представляют полного соответствия, а приводятся лишь в качестве рекомендации. В определенных условиях следует использовать другие типы данных вместо тех, которые перечислены в таблице. |
Тип данных |
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 |
Currency |
|||
DT_DATE |
||||||
DT_DBDATE |
date |
date |
date |
date |
date |
|
DT_DBTIME |
отметка времени |
time |
time |
|||
DT_DBTIME2 |
time(p) |
time(p) |
||||
DT_DBTIMESTAMP |
datetime, smalldatetime |
datetime, smalldatetime |
DateTime |
TIMESTAMP, DATE, INTERVAL |
TIME, TIMESTAMP, DATE |
TIME, TIMESTAMP, DATE |
DT_DBTIMESTAMP2 |
datetime2 |
datetime2 |
отметка времени |
отметка времени |
отметка времени |
|
DT_DBTIMESTAMPOFFSET |
datetimeoffset(p) |
datetimeoffset(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 |
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 |
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 |
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 |
text |
LONG VARCHAR FOR BIT DATA |
LONG VARCHAR FOR BIT DATA, CLOB |
Сведения о сопоставлении типов данных в потоке данных см. в разделе Работа с типами данных в потоке данных.
Внешние ресурсы
Запись в блоге Сравнение производительности технологий преобразования типов данных в службах SSIS 2008 на сайте blogs.msdn.com.
|