Типы данных служб Integration Services
Область применения: среда выполнения интеграции SSIS SQL Server в Фабрика данных Azure
Когда данные входят в поток данных в пакете, источник, извлекающий данные, преобразует данные в тип данных Служб Integration Services. Числовым данным назначается числовой тип данных, строковым — символьный тип данных, а датам — тип даты. Другие данные, такие как GUID и блоки больших двоичных объектов (BLOB), также назначаются соответствующим типам данных служб Integration Services. Если данные имеют тип данных, который не преобразуется в тип данных Служб Integration Services, возникает ошибка.
Некоторые компоненты потока данных преобразуют типы данных между типами данных Служб Integration Services и управляемыми типами данных microsoft платформа .NET Framework. Дополнительные сведения о сопоставлении служб Integration Services и управляемых типов данных см. в статье "Работа с типами данных" в Поток данных.
В следующей таблице перечислены типы данных служб Integration Services. К некоторым из типов данных в таблице применяются сведения о масштабе и точности. Дополнительные сведения о точности и масштабе см. в разделе Точность, масштаб и длина (Transact-SQL).
Тип данных | Description |
---|---|
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.
Можно изменить тип данных столбца следующим образом:
Использование выражения для неявного преобразования типов данных. Дополнительные сведения см. в разделах Типы данных Integration Services в выражениях, Типы данных Integration Services в выражениях и Выражения Integration Services (SSIS).
Использование оператора приведения для преобразования типов данных. Дополнительные сведения см. в разделе Приведение (выражение Integration Services).
Использование преобразования «Конвертация данных» для приведения типа данных столбца от одного к другому. Дополнительные сведения см. в статье Data Conversion Transformation.
Создание копии столбца, тип данных которого отличается от типа данных исходного столбца, с помощью преобразования «Производный столбец». Дополнительные сведения см. в разделе Derived Column Transformation.
Преобразование между строковым типом данных и типами данных даты-времени
В следующей таблице приведены результаты приведения или преобразования между строковыми типами данных и типами данных даты-времени.
При использовании оператора приведения или преобразования «Конвертация данных» тип данных даты или времени будет преобразован в соответствующий строковый формат. Например, тип данных 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 гггг-мм-дд чч:мм:сс[.fff] [{+|-} hh:mm]
В формате для типов данных 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 января 1A.D. до 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 | бит | |||
DT_BYTES | binary, varbinary, timestamp | binary, varbinary, timestamp | BigBinary, VarBinary | НЕОБРАБОТАННЫЕ | ||
DT_CY | smallmoney, money | smallmoney, money | Валюта | |||
DT_DATE | ||||||
DT_DBDATE | date (Transact-SQL) | date (Transact-SQL) | Дата | Дата | Дата | |
DT_DBTIME | TIMESTAMP | Время | Время | |||
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 | Метка времени | Метка времени | |
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 | Короткие | SMALLINT | SMALLINT | |
DT_I4 | INT | INT | Long | INTEGER | INTEGER | |
DT_I8 | bigint | bigint | BIGINT | BIGINT | ||
DT_NUMERIC | decimal, numeric | decimal, numeric | Десятичное число | NUMBER, INT | decimal, numeric | decimal, numeric |
DT_R4 | real | real | Одна | real | real | |
DT_R8 | с плавающей запятой | с плавающей запятой | Двойной | FLOAT, REAL | FLOAT, DOUBLE | FLOAT, DOUBLE |
DT_STR | char, varchar | VarChar | char, varchar | char, varchar | ||
DT_UI1 | tinyint | tinyint | Байт | |||
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 | Изображение | Изображение | 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.