Компоненты потока ODBC

Область применения:среда выполнения интеграции SSIS SQL Server в Фабрика данных Azure

В этом разделе описываются основные понятия, необходимые для создания потока данных ODBC с помощью SQL Server 2019 Integration Services (Integration Services)

Соединитель для ODBC для SQL Server 2019 Integration Services помогает разработчикам Integration Services с легкостью создавать пакеты, которые загружают и выгружают данные в базах данных, поддерживаемых ODBC.

Соединитель ODBC предназначен для достижения оптимальной производительности при загрузке или выгрузке данных из базы данных, поддерживаемой ODBC, в контексте SQL Server 2019 Integration Services.

Льготы

Источник и назначение ODBC для SQL Server 2019 Integration Services обеспечивают конкурентное преимущество Integration Services в проектах, связанных с загрузкой или выгрузкой данных в базах данных, поддерживаемых ODBC.

Источник и назначение ODBC обеспечивают высокопроизводительную интеграцию данных с базами данных с поддержкой ODBC. Оба компонента могут быть настроены для работы с привязками массива построчных параметров для высокопроизводительных поставщиков ODBC, которые поддерживают этот режим привязки, и привязками однострочных параметров для низкопроизводительных поставщиков ODBC.

Приступая к работе с источником и назначением ODBC

Прежде чем вы сможете настраивать пакеты, использующие SQL Server 2019 Integration Services, убедитесь, что доступны следующие компоненты.

Источник и назначение ODBC предоставляют простой способ выгрузки и загрузки данных, а также передачи данных из базы данных-источника с поддержкой ODBC в целевую базу данных с поддержкой ODBC.

Чтобы использовать источник или назначение для загрузки или выгрузки данных, откройте новый проект SQL Server 2019 Integration Services в SQL Server Data Tools. Затем перетащите источник или назначение в область конструктора SQL Server Data Tools.

  • Компонент источника ODBC считывает данные из базы данных-источника с поддержкой ODBC.

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

См. также:

Источник «ODBC»

Редактор источника «ODBC» (страница «Диспетчер соединений»)

Редактор источника «ODBC» (страница «Вывод ошибок»)

  • Назначение ODBC загружает данные в базу данных с поддержкой ODBC. Назначение подключается к любому компоненту источника или преобразования, поддерживаемому службами SSIS.

См. также:

Назначение «ODBC»

Редактор назначения «ODBC» (страница «Диспетчер соединений»)

Редактор назначения «ODBC» (страница «Вывод ошибок»)

Сценарии работы

В этом разделе рассматриваются некоторые из основных способов использования компонентов источника и назначения ODBC.

Массовое копирование данных из таблиц SQL Server в таблицу любой базы данных с поддержкой ODBC

Эти компоненты можно использовать для массового копирования данных из одной или нескольких таблиц SQL Server в одну таблицу базы данных с поддержкой ODBC.

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

  • Создайте проект SQL Server 2019 Integration Services в SQL Server Data Tools.

  • Создайте диспетчер подключений OLE DB, который подключается к базе данных SQL Server, содержащей данные для копирования.

  • Создайте диспетчер соединений ODBC, который использует локально установленный драйвер ODBC для DB2 с DSN, указывающий на локальную или удаленную базу данных DB2. Эта та база данных, в которую загружаются данные из базы данных SQL Server.

  • Перетащите источник OLE DB в область конструктора, затем настройте источник для получения данных из базы данных SQL Server и таблицу с данными, которые вы хотите извлечь. Используйте созданный перед этим диспетчер соединений OLE DB.

  • Перетащите назначение ODBC в область конструктора, подключите вывод источника к назначению ODBC, а затем настройте назначение для загрузки в таблицу DB2 данных, извлекаемых из базы данных SQL Server. Используйте созданный перед этим диспетчер соединений ODBC.

Массовое копирование данных из таблиц базы данных с поддержкой ODBC в любую таблицу SQL Server

Эти компоненты можно использовать для массового копирования данных из одной или нескольких таблиц базы данных с поддержкой ODBC в одну таблицу базы данных SQL Server.

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

  • Создайте проект SQL Server 2019 Integration Services в SQL Server Data Tools

  • Создайте диспетчер соединений ODBC, который использует локально установленный драйвер ODBC для Sybase с DSN, указывающим на локальную или удаленную базу данных Sybase. Это база данных, из которой извлечены данные.

  • Создайте диспетчер подключений OLE DB, который подключается к базе данных SQL Server, куда вы хотите загружать данные.

  • Перетащите источник ODBC в область конструктора, затем настройте источник для получения данных из таблицы Sybase с данными, которые должны быть скопированы. Используйте созданный перед этим диспетчер соединений ODBC.

  • Перетащите назначение OLE DB в область конструктора, подключите вывод источника к назначению OLE DB, а затем настройте назначение для загрузки в таблицу SQL Server данных, извлекаемых из базы данных Sybase. Используйте созданный перед этим диспетчер соединений OLE DB.

Поддерживаемые типы данных

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

Поддержка типов данных для расширяемых типов C, как описано в спецификации ODBC 3.8, отсутствует. В следующей таблице описано, какие типы данных служб SSIS используются для каждого из типов SQL ODBC. Разработчик служб SSIS может переопределить сопоставление, применяемое по умолчанию, и задать другой тип данных служб SSIS для столбцов ввода-вывода, не оказывая отрицательного воздействия на производительность требуемых преобразований данных.

Тип ODBC SQL Тип данных служб SSIS Комментарии
SQL_BIT DT_BOOL
SQL_TINYINT DT_I1

DT_UI1
Типы данных SQL сопоставляются с типами служб SSIS без знака (DT_UI1, DT_UI2, DT_UI4, DT_UI8), если в драйвере ODBC для свойства UNSIGNED_ATTRIBUTE задано значение SQL_TRUE для этого типа данных SQL.
SQL_SMALLINT DT_I2

DT_UI2
Типы данных SQL сопоставляются с типами служб SSIS без знака (DT_UI1, DT_UI2, DT_UI4, DT_UI8), если в драйвере ODBC для свойства UNSIGNED_ATTRIBUTE задано значение SQL_TRUE для этого типа данных SQL.
SQL_INTEGER DT_I4

DTUI4
Типы данных SQL сопоставляются с типами служб SSIS без знака (DT_UI1, DT_UI2, DT_UI4, DT_UI8), если в драйвере ODBC для свойства UNSIGNED_ATTRIBUTE задано значение SQL_TRUE для этого типа данных SQL.
SQL_BIGINT DT_I8

DT_UI8
Типы данных SQL сопоставляются с типами служб SSIS без знака (DT_UI1, DT_UI2, DT_UI4, DT_UI8), если в драйвере ODBC для свойства UNSIGNED_ATTRIBUTE задано значение SQL_TRUE для этого типа данных SQL.
SQL_DOUBLE DT_R8
SQL_FLOAT DT_R8
SQL_REAL DT_R4
SQL_NUMERIC (p,s) DT_NUMERIC (p,s) Числовой тип данных сопоставляется с DT_NUMERIC, если P больше или равно 38, а S больше или равно 0 и S меньше или равно P.
DT_R8 Числовой тип данных сопоставляется с DT_R8, если соблюдается по крайней мере одно из следующих условий.

Точность больше 38

Масштаб меньше нуля

Масштаб больше 38

Масштаб больше точности
DT_CY Числовой тип данных сопоставляется с DT_CY, если он объявлен как тип данных money.
SQL_DECIMAL (p,s) DT_NUMERIC (p,s) Тип данных decimal сопоставляется с DT_NUMERIC, если P больше или равно 38, а S больше или равно 0 и S меньше или равно P.
DT_R8 Тип данных decimal сопоставляется с DT_R8, если соблюдается по крайней мере одно из следующих условий.

Точность больше 38

Масштаб меньше нуля

Масштаб больше 38

Масштаб больше точности
DT_CY Тип данных decimal сопоставляется с DT_CY, если он объявлен как тип данных money.
SQL_DATE

SQL_TYPE_DATE
DT_DBDATE
SQL_TIME

SQL_TYPE_TIME
DT_DBTIME
SQL_TIMESTAMP

SQL_TYPE_TIMESTAMP
DT_DBTIMESTAMP

DT_DBTIMESTAMP2
Типы данных SQL_TIMESTAMP сопоставляются с DT_DBTIMESTAMP2, если масштаб больше 3. Во всех прочих случаях они сопоставляются с DT_DBTIMESTAMP.
SQL_CHAR

SQLVARCHAR
DT_STR

DT_WSTR

DT_TEXT

DT_NTEXT
Тип DT_STR используется, если длина столбца меньше или равна 8000 и свойство ExposeStringsAsUnicode имеет значение false.

Тип DT_WSTR используется, если длина столбца меньше или равна 8000 и свойство ExposeStringsAsUnicode имеет значение true.

Тип DT_TEXT используется, если длина столбца больше 8000 и свойство ExposeStringsAsUnicode имеет значение false.

Тип DT_NTEXT используется, если длина столбца больше 8000 и свойство ExposeStringsAsUnicode имеет значение true.
SQL_LONGVARCHAR DT_TEXT

DT_NTEXT
Тип DT_NTEXT используется, если свойство ExposeStringsAsUnicode имеет значение true.
SQL_WCHAR

SQL_WVARCHAR
DT_WSTR

DT_NTEXT
Тип DT_WSTR используется, если длина столбца меньше или равна 4000.

Тип DT_NTEXT используется, если длина столбца больше 4000.
SQL_WLONGVARCHAR DT_NTEXT
SQL_BINARY DT_BYTE

DT_IMAGE
Тип DT_BYTES используется, если длина столбца меньше или равна 8000.

Тип DT_IMAGE используется, если длина столбца больше 8000.
SQL_LONGVARBINARY DT_IMAGE
SQL_GUID DT_GUID
SQL_INTERVAL_YEAR

SQL_INTERVAL_MONTH

SQL_INTERVAL_DAY

SQL_INTERVAL_HOUR

SQL_INTERVAL_MINUTE

SQL_INTERVAL_SECOND

SQL_INTERVAL_YEAR_TO_MONTH

SQL_INTERVAL_DAY_TO_HOUR

SQL_INTERVAL_DAY_TO_MINUTE

SQL_INTERVAL_DAY_TO_SECOND

SQL_INTERVAL_HOUR_TO_MINUTE

SQL_INTERVAL_HOUR_TO_SECOND

SQL_INTERVAL_MINUTE_TO_SECOND
DT_WSTR
Типы данных для конкретных поставщиков DT_BYTES

DT_IMAGE
Тип DT_BYTES используется, если длина столбца меньше или равна 8000.

Тип DT_IMAGE используется, если длина столбца равна нулю или больше 8000.

В этом разделе