Источник OLE DB
Изменения: 15 сентября 2007 г.
Источник OLE DB извлекает сведения из множества поддерживающих технологию OLE DB реляционных баз данных с помощью таблицы базы данных, представления или команды SQL. Например, источник OLE DB может извлекать данные из таблиц в базах данных Microsoft Access или SQL Server.
Примечание. |
---|
Чтобы загрузить данные из источника данных, который использует Microsoft Office Excel 2007, используйте источник данных OLE DB. Для загрузки данных из источника «Excel 2007» невозможно использовать источник «Excel». Дополнительные сведения см. в разделе Диспетчер соединений OLE DB. Чтобы загрузить данные из источника данных, который использует Microsoft Office Excel 2003 или более раннюю версию, используйте источник данных Excel. Дополнительные сведения см. в разделе Источник Excel. |
Источник OLE DB предоставляет четыре различных режима доступа к данным, используемые при извлечении данных:
- Таблица или представление.
- Таблица или представление, указанные в переменной.
- Результат выполнения инструкции SQL. Может использоваться параметризованный запрос.
- Результат выполнения инструкции SQL хранится в переменной.
При использовании параметризованного запроса можно сопоставить переменные с параметрами, чтобы задать значения для отдельных параметров в инструкциях SQL.
Данный источник для подключения к источнику данных использует диспетчер соединений OLE DB, в котором задается используемый поставщик OLE DB. Дополнительные сведения см. в разделе Диспетчер соединений OLE DB.
Проект служб Integration Services также предоставляет объект источника данных, из которого можно создать диспетчер соединений OLE DB, делая источники данных и их представления доступными для источника OLE DB. Дополнительные сведения см. в разделах Источник данных (службы SSIS) и Представление источника данных (службы SSIS).
Некоторые поставщики OLE DB накладывают определенные ограничения на источник OLE DB.
- Поставщик Microsoft OLE DB для Oracle не поддерживает типы данных Oracle BLOB, CLOB, NCLOB, BFILE или UROWID, так что источник OLE DB не может извлекать данные из таблиц, содержащих столбцы с этими типами данных.
- Поставщики IBM OLE DB DB2 и Microsoft OLE DB DB2 не поддерживают команду SQL, вызывающую хранимую процедуру. Если такая команда использована, источник OLE DB не может создать метаданные столбца. В результате этого отсутствуют доступные столбцы данных для компонентов потоков данных, которые располагаются следом за источником OLE DB в потоке данных, что приводит к сбою потокового выполнения.
Источник OLE DB имеет один обычный выход и один выход ошибок.
Использование параметризованных инструкций SQL
Источник OLE DB может использовать инструкцию SQL для извлечения данных. Это может быть инструкция SELECT или EXEC.
Источник OLE DB использует диспетчер соединений OLE DB для соединения с источником данных, из которого происходит извлечение данных. В зависимости от поставщика, используемого диспетчером соединений OLE DB, и СУРБД, с которой он соединяется, имена и списки параметров подчиняются разным правилам. Если имена параметров возвращаются из СУРБД, их можно использовать для сопоставления параметров из списка с параметрами из инструкции SQL, в противном случае параметры сопоставляются с параметрами в инструкции SQL в соответствии с их порядковым положением в списке параметров. Типы поддерживаемых имен параметров зависят от поставщика. Например, одни поставщики требуют, чтобы использовались имена переменных или столбцов, а другие требуют, чтобы использовались символьные имена, например 0 или Param0. Правила именования параметров в инструкциях SQL см. в документации к поставщику.
При использовании диспетчера соединений OLE DB нельзя применять параметризованные вложенные запросы, поскольку источник OLE DB не может получить информацию о параметрах через поставщик OLE DB. Однако можно использовать выражение, чтобы объединить значения параметров в строку запроса и задать свойство источника SqlCommand.
В конструкторе служб SSIS источник OLE DB настраивается с помощью диалогового окна Редактор источника OLE DB, а параметры сопоставляются с переменными в диалоговом окне Установка параметров запроса.
Задание параметров с помощью порядкового положения
Если имена параметров не возвращаются, то, с какими создателями параметров они сопоставляются во время выполнения, определяет порядок следования параметров в списке Параметры в диалоговом окне Установка параметров запроса. Первый параметр в списке сопоставляется с первым символом «?» в инструкции SQL, второй — со вторым символом «?» и т. д.
Следующая инструкция SQL выбирает строки из таблицы Product в базе данных AdventureWorks. Первый параметр в списке Сопоставления сопоставляется с первым параметром, со столбцом Color, второй параметр сопоставляется со столбцом Size.
SELECT * FROM Production.Product WHERE Color = ? AND Size = ?
Имена параметров значения не имеют. Например, если у параметра такое же имя, как и у столбца, с которым он сопоставляется, но он не стоит в правильном положении по порядку в списке Параметры, то сопоставление параметра во время выполнения будет основано на порядковом положении параметра, а не на его имени.
В команде EXEC обычно требуется, чтобы в качестве имен параметров использовались имена переменных, предоставляющие значения параметров в процедуре.
Задание параметров с помощью имен
Если из СУРБД возвращаются действительные имена параметров RDBMS, то параметры, используемые в инструкциях SELECT и EXEC, сопоставляются по имени. Имена параметров должны совпадать с именами, ожидаемыми хранимой процедурой, которая запускается инструкцией SELECT или EXEC.
Следующая инструкция SQL запускает хранимую процедуру uspGetWhereUsedProductID, доступную в базе данных AdventureWorks.
EXEC uspGetWhereUsedProductID ?, ?
Хранимая процедура ожидает, что в переменных @StartProductID
и @CheckDate
будут содержаться значения параметров. Порядок следования параметров в списке Сопоставления неважен. Единственное требование состоит в том, что имена параметров должны совпадать с именами переменных в хранимой процедуре вплоть до знака @. Порядок следования параметров в списке Сопоставления неважен.
Сопоставление параметров и переменных
Параметры сопоставляются с переменными, которые во время выполнения предоставляют значения параметров. Переменные обычно являются определяемыми пользователем переменными, хотя также можно использовать системные переменные, предоставляемые службами Integration Services. При использовании определяемых пользователем переменных убедитесь, что тип их данных совместим с типом данных столбца, на который ссылается сопоставляемый параметр. Дополнительные сведения см. в разделе Переменные служб Integration Services.
Устранение неполадок, связанных с источником OLE DB
Начиная с Microsoft SQL Server 2005 с пакетом обновления 2 (SP2), появилась возможность для занесения в журнал вызовов, которые источник OLE DB делает к внешним поставщикам данных. Эта новая возможность протоколирования может быть использована для устранения неполадок загрузки данных из внешнего источника данных, которые выполняются источником OLE DB. Для протоколирования вызовов, которые источник OLE DB совершает к внешнему поставщику данных, необходимо разрешить ведение журнала пакета и выбрать событие Диагностика на уровне пакета. Дополнительные сведения см. в разделе Устранение неполадок выполнения пакетов.
Настройка источника OLE DB
Свойства задаются программно или через конструктор служб SSIS.
Дополнительные сведения о свойствах, которые можно задавать в диалоговом окне Редактор источника OLE DB, см. в следующих разделах:
- Редактор источника OLE DB (страница «Диспетчер соединений»)
- Редактор источника «OLE DB» (страница «Столбцы»)
- Редактор источника «OLE DB» (страница «Вывод ошибок»)
Диалоговое окно Расширенный редактор содержит свойства, которые можно установить с помощью программных средств. Дополнительные сведения о свойствах, которые можно задать в диалоговом окне Расширенный редактор или программно, см. в следующих разделах:
Дополнительные сведения об установке свойств см. в следующих разделах:
- Как извлечь данные, используя источник OLE DB
- Как сопоставить параметры запросов с переменными в компонентах потока данных
- Как установить свойства компонента потока данных при помощи редактора компонентов
- Как установить свойства компонента потока данных в окне «Свойства»
- Как задать свойства компонента потока данных с использованием расширенного редактора
- Как установить атрибуты сортировки на выходе
См. также
Основные понятия
Назначение OLE DB
Переменные служб Integration Services
Создание потока данных пакета
Другие ресурсы
Источники служб Integration Services
Справка и поддержка
Получение помощи по SQL Server 2005
Журнал изменений
Версия | Журнал |
---|---|
15 сентября 2007 г. |
|
12 декабря 2006 г. |
|
5 декабря 2005 г. |
|