Oracle provider ole db: Oracle Provider for OLE DB

Содержание

Поставщик OLE DB для Oracle (Microsoft) — ActiveX Data Objects (ADO)





Twitter




LinkedIn




Facebook




Адрес электронной почты










  • Статья

  • Чтение занимает 2 мин

Важно!

Эта функция будет удалена в будущей версии Windows. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Вместо этого используйте поставщик OLE DB Oracle.

Поставщик OLE DB для Oracle (Майкрософт) позволяет ADO получать доступ к базам данных Oracle.

Параметры строки соединения

Чтобы подключиться к этому поставщику, задайте для аргумента Provider свойства ConnectionString следующее:

MSDAORA

Чтение свойства Provider также вернет эту строку.

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

Типичная строка подключения

Типичная строка подключения для этого поставщика:

"Provider=MSDAORA;Data Source=serverName;User ID=MyUserID; Password=MyPassword;"

Строка состоит из следующих ключевых слов:

Ключевое словоОписание
ПоставщикУказывает поставщик OLE DB для Oracle.
Источник данныхУказывает имя сервера.
Идентификатор пользователяУказывает имя пользователя.
ПарольУказывает пароль пользователя.

Примечание

При подключении к поставщику источника данных, поддерживающем проверка подлинности Windows, следует указать Trusted_Connection=да или Встроенная безопасность = SSPI, а не идентификатор пользователя и пароль в строке подключения.

параметры подключения Provider-Specific

Поставщик поддерживает несколько параметров подключения для конкретного поставщика в дополнение к параметрам, определенным ADO. Как и в случае со свойствами подключения ADO, эти свойства, относящиеся к поставщику, можно задать с помощью коллекции свойств подключения или в составе ConnectionString.

Эти параметры полностью описаны в справочнике программиста OLE DB. Индекс динамических свойств ADO предоставляет перекрестную ссылку между этими именами параметров и соответствующими свойствами OLE DB.

ПараметрОписание
Дескриптор окнаУказывает дескриптор окна, используемый для запроса дополнительных сведений.
Идентификатор локалиУказывает уникальное 32-разрядное число (например, 1033), указывающее предпочтения, связанные с языком пользователя. Эти параметры указывают, как форматируются даты и время, элементы сортируются в алфавитном порядке, сравниваются строки и т. д.
Службы OLE DBУказывает битовую маску, указывающую службы OLE DB для включения или отключения.
Командная строка.Указывает, следует ли запрашивать пользователя во время установки подключения.
Расширенные свойстваСтрока, содержащая сведения о подключении, относящиеся к конкретному поставщику. Используйте это свойство только для сведений о подключении конкретного поставщика, которые нельзя описать с помощью механизма свойства.

См. также:

Свойство ConnectionString (ADO)Provider Property (ADO)Recordset Object (ADO)






FAQ по коннекторам SSIS к Oracle

За время работы с Oracle Database и Microsoft SQL Server Integration Services я собрал 2 FAQ-а. Первый — по Oracle Client — опубликован предыдущим постом, а здесь следующий — по коннекторам SSIS к Oracle.

Нужен ли Oracle Client?

Да, все описанные ниже коннекторы используют Oracle Client.

Что такое Devart dotConnect?

Devart выпускает .NET провайдеры и инструменты, в том числе для СУБД Oracle и MySQL, dotConnect это .NET провайдер.

Какую редакцию dotConnect надо взять, чтобы работать из SSIS?

Возьмите редакцию Express, которая предоставляется бесплатно.

Что за предупреждение про Devart.

Data.dll при установке dotConnect for Oracle и dotConnect for MySQL?

В дистрибутивах коннекторов dotConnect для разных СУБД есть общие компоненты, которые устанавливаются с каждым из них. Предупреждение возникает при попытке установки коннектора dotConnect, если библиотека более старой версии уже установлена с коннектором dotConnect к другой СУБД.

Это означает, что имеет смысл скачать и установить на машину с интеграционными службами SQL Server коннекторы сразу ко всем СУБД, с которыми в условиях организации возможно интегрироваться, что бы потом (при установке очередного коннектора) не обновлять уже установленные коннекторы и не вносить дополнительные риски.

Что такое Microsoft Connector for Oracle by Attunity?

Attunity выпускает для Microsoft, а Microsoft бесплатно предоставляет для пользователей SQL Server Enterprise Edition компоненты SSIS для извлечения и вставки в СУБД Oracle под названием Microsoft Connector for Oracle by Attunity. Технически, компоненты работают в SSIS во всех редакциях SQL Server, а не только в Enterprise.

Для SQL Server 2012 — требуется Microsoft Connector for Oracle by Attunity версии 2.0.

Для SQL Server 2008 (включая R2) — Microsoft Connector for Oracle by Attunity версии 1.2.

Существует ещё Microsoft Connector for Teradata by Attunity.

Что быстрее работает — dotConnect или Connector by Attunity?

При том, что dotConnect более универсален — это не компонент SSIS, а обычный .NET провайдер — быстрее работает dotConnect.

Вот результаты тестов в секундах между СУБД Oracle 10g и SQL Server 2012 Developer Edition на таблице, содержащей 126 828 записей (наш Oracle под рабочей нагрузкой):

Чем из OracleЧем в MS SQLТест 1Тест 2Тест 3Тест 4Тест 5Среднее без выплесков
AttunityOLE DB5,8194,6654,7434,7114,7114,71
AttunityADO. NET4,8364,8054,8994,8524,7584,83
dotConnectADO.NET2,3092,4182,2933,0262,3242,37
dotConnectOLE DB1,4511,4821,4661,4671,4351,46

Разумеется, для строк разного размера и на различающемся оборудовании результаты будут различаться — мои можно использовать как ориентировочные при настройках пакета SSIS по умолчанию (об этих настройках ниже).

В первых двух тестах ADO.NET со стороны SQL Server добавлял незначительно времени (ограничивающим фактором был Attunity коннектор со стороны Oracle), а в последних двух тестах, ограничивающим фактором было подключение к SQL Server, где OLE DB очевидно быстрее и, поэтому, OLE DB рекомендуется пока Microsoft не прекратит поддержку OLE DB.

О влиянии настроек

В 2015-м году один из моих читателей сообщил, что при тестировании загрузки его данных с помощью Attunity и dotConnect из Oracle 9 (с использованием SSIS из SQL Server 2012) он добился почти паритета Attunity и dotConnect за счёт настроек.

При DefaultBufferMaxRows = 50 000 и BatchSize = 50 000 для источника Oracle от Attunity, на широкой таблице с большим количеством полей, в том числе больших текстовых полей, Attunity проигрывал всего 0,7 %, а на узкой, с большим количество записей и одним текстовым полем в 20, символов Attunity проигрывал менее 8,2 %.

При настройках по умолчанию, Attunity проигрывал dotConnect-у в 6 раз.

Какие ещё есть варианты подключения к Oracle из SSIS?

Все остальные варианты хуже чем dotConnect и Microsoft Connector for Oracle by Attunity — они обладают худшей поддержкой и меньшей скоростью.

Вот весь перечень известных нам компонентов:

Где находится в SSISЧто это?Особенности
.Net Providers\OracleClient Data Provider.NET провайдер от MicrosoftПоддержка прекратится в будущем. Сейчас всё работает. Хорошая понятность ошибок.
. Net Providers\Oracle Data Provider for .NET.NET провайдер от Oracle 
.Net Providers for OleDb\Microsoft OLE DB Provider for OracleOLE DB провайдер от MicrosoftНе работает с параметрами. Работает только в Runtime 32, официально поддерживает только Oracle Database 8i.
.Net Providers\Oracle Provider for OLE DBOLE DB провайдер от OracleРекомендуется, если нужны OLE DB команды.
Microsoft Connector for Oracle by Attunity (MSORA)Специальный компонент подключения от MicrosoftРекомендуется для больших объемов данных. Разумеется, не работает с OLE DB командами и SQL Task.
.Net Providers\dotConnect for Oracle.NET провайдер от DevArtРекомендуется во всех случаях. Разумеется, не работает с OLE DB командами.

Следует заметить, что dotConnect совместим по API с Oracle Data Provider for .NET, что неплохо в случае замены одного на другой, чтобы не трогать C# в Script Task и Script Transformation.

Почему русские буквы в данных, извлекаемых из Oracle, заменяются на непонятные символы?

В Devart dotConnect for Oracle, можно в настройках подключения установить Unicode = true и не зависеть от кодировки клиента.

Но, в любом случае, рекомендуется настроить кодировку Oracle Client в ОС Windows на 1251 — смотрите FAQ по Oracle Client.

Использовать прямой режим dotConnect или работать через Oracle Client?

Рекомендуется работать через Oracle Client, в частности потому, что Oracle Client корректно работает с единой транзакцией на пул подключений.

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

Опубликовано: 2013 г.


sql server
oracle database

Oracle Provider for OLE DB Developer’s Guide, 19c для Microsoft Windows

Oracle Provider for OLE DB Developer’s Guide, 19c for Microsoft Windows

E96615-01

Copyright © 1999, 2019, Oracle и/или ее дочерние компании. Все права защищены.

Основной автор: Майтрейи Чалиха

Соавторы: Дженис Гринберг, Алекс Кех, Эрик Белден, Риаз Ахмед, Киминари Акияма, Кристиан Шей, Валари Мур, Нирадж Гупта, Синклер Хсу, Гопал Кирсур, Сунил Мушран, Раджендра Пингте, Хелен Слэттери , Викрам Шетти, Суджит Соманатан, Марк Уильямс

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

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

Если это программное обеспечение или связанная с ним документация, которая доставляется в
правительством США или любым лицом, лицензирующим его от имени правительства США, то
применяется следующее уведомление:

КОНЕЧНЫЕ ПОЛЬЗОВАТЕЛИ ПРАВИТЕЛЬСТВА США: программы Oracle, включая любые действующие
система, интегрированное программное обеспечение, любые программы, установленные на оборудовании, и/или
документация, доставляемая конечным пользователям правительства США, является «коммерческим компьютерным программным обеспечением».
в соответствии с применимым Положением о федеральных закупках и
дополнительные положения. Таким образом, использование, копирование, раскрытие, модификация и
адаптация программ, включая любую операционную систему, интегрированное программное обеспечение, любое
программы, установленные на оборудовании, и/или документация подлежат лицензированию
условия и лицензионные ограничения, применимые к программам. Другие права не предоставляются
правительству США.

Данное программное или аппаратное обеспечение разработано для общего использования в различных
приложения для управления информацией. Он не разработан и не предназначен для использования в каких-либо
потенциально опасные приложения, в том числе приложения, которые могут создать риск
личный вред. Если вы используете это программное или аппаратное обеспечение в опасных приложениях, то
вы несете ответственность за принятие всех необходимых мер по отказоустойчивости, резервному копированию, резервированию и
иные меры, обеспечивающие его безопасное использование. Корпорация Oracle и ее аффилированные лица отказываются от
любую ответственность за любые убытки, вызванные использованием этого программного или аппаратного обеспечения в опасных условиях.
Приложения.

Oracle и Java являются зарегистрированными товарными знаками Oracle и/или ее
филиалы. Другие наименования могут быть торговыми марками их владельцев.

Intel и Intel Xeon являются товарными знаками или зарегистрированными товарными знаками Intel.
Корпорация. Все товарные знаки SPARC используются по лицензии и являются товарными знаками или
зарегистрированными товарными знаками SPARC International, Inc. AMD, Opteron, логотип AMD и
Логотип AMD Opteron является товарным знаком или зарегистрированным товарным знаком Advanced Micro Devices. UNIX
является зарегистрированным товарным знаком The Open Group.

Данное программное или аппаратное обеспечение и документация могут обеспечивать доступ к
информацию о контенте, продуктах и ​​услугах от третьих лиц. Корпорация Оракл
и ее аффилированные лица не несут ответственности и прямо отказываются от всех гарантий любого
вид в отношении стороннего контента, продуктов и услуг, если не указано иное
в применимом соглашении между вами и Oracle. Корпорация Oracle и ее
аффилированные лица не несут ответственности за любые убытки, расходы или ущерб, понесенные в связи с вашим
доступ или использование стороннего контента, продуктов или услуг, за исключением случаев, указанных в
применимое соглашение между вами и Oracle.

Обзор функций поставщика OLE DB Oracle10g

    Сожалеем. Мы не смогли найти совпадение по вашему запросу.

    Мы предлагаем вам попробовать следующее, чтобы найти то, что вы ищете:

    • Проверьте правильность написания вашего ключевого слова.
    • Используйте синонимы для введенного вами ключевого слова, например, попробуйте «приложение» вместо «программное обеспечение».
    • Начать новый поиск.

    Связаться с отделом продаж

    Меню
    Меню

    Краткое описание продукта

    Поставщик Oracle для OLE DB предоставляет разработчикам Windows высокую производительность и эффективный доступ к базам данных Oracle. OLE DB — это спецификация Microsoft для набора COM-интерфейсов, используемых для доступа к данным и управления ими. Разработчики могут использовать Oracle Provider для OLE DB из любого COM-клиента, такого как Visual Basic, Internet Information Server (IIS) и COM+/Microsoft Transaction Server (MTS), через Microsoft ActiveX Data Objects (ADO). Разработчики также могут писать код непосредственно для интерфейсов OLE DB, используя такие языки, как C или C++. Поставщик Oracle для OLE DB также полностью совместим с OLE DB .NET, однако поставщик данных Oracle для .NET (ODP.NET) является лучшим выбором для разработчиков .NET.

    Поскольку поставщик Oracle OLE DB использует новейшую технологию Oracle10g, Oracle OLE DB предлагает оптимизацию доступа к данным и доступ к специфическим функциям базы данных Oracle, таким как поддержка больших объектов, хранимых процедур PL/SQL и REF CURSOR. Все эти функции Oracle и оптимизации доступа к данным, как правило, недоступны в других сторонних поставщиках Oracle OLE DB или мосте OLE DB-ODBC. Точно придерживаясь последней спецификации Microsoft OLE DB, поставщик Oracle позволяет разработчикам ADO и OLE DB .NET в полной мере использовать преимущества OLE DB без необходимости жертвовать функциональностью сервера базы данных Oracle.

    Серверы баз данных Oracle10g, Oracle9i и Oracle8i можно использовать вместе с клиентским программным обеспечением Oracle10g OLE DB. В этом документе освещаются новейшие функции поставщика Oracle10g OLE DB.

    Компоненты

    Поставщик Oracle для OLE DB предназначен для повышения производительности и надежности доступа к данным для разработчиков ADO. Он использует прямые соединения Oracle Call Interface (OCI), а не использует ODBC в качестве моста к OCI. На рисунке ниже показан типичный доступ к данным с использованием ADO/OLE DB и моста ADO/OLE DB-ODBC.

    Используя провайдера, разработчики приложений минимизируют количество посредников, через которые должны проходить данные. Это позволяет данным проходить наиболее прямой путь, возможный с OLE DB. В то же время поставщик Oracle OLE DB был оптимизирован, поскольку он использует вызовы Oracle10g OCI для максимальной производительности и предоставления новейших функций базы данных. Как правило, другие сторонние поставщики OLE DB, написанные для Oracle, могут использовать старые вызовы OCI, что может ограничивать производительность доступа к данным и набор функций.

    Поставщик Oracle OLE DB был создан для работы с большими объемами и высокой нагрузкой сред Интернет-приложений. Поставщик Oracle для OLE DB использует проверенную интернет-инфраструктуру Oracle для обеспечения высоконадежного, быстрого и безопасного доступа к данным.

    Функции

    Поставщик Oracle для OLE DB поддерживает следующие функции:

    • Полная совместимость с OLE DB .NET
    • Прокручиваемые и обновляемые наборы строк
    • ANSI SQL, поддерживаемый Oracle, и синтаксис ODBC SQL
    • Аутентификация ОС, которая позволяет Oracle авторизовать пользователей с помощью механизмов безопасности операционной системы
    • Несколько наборов строк схемы
    • Обновляемые наборы строк, созданные с помощью объединений (доступно с клиентским механизмом курсора)
    • Поддержка транзакций
      • Локальные транзакции, поддерживающие интерфейс ITransactionLocal
      • Распределенные транзакции через COM+/Microsoft Transaction Server (MTS)
    • Поддержка ссылок базы данных
    • Поддержка Юникода
    • Поддержка ADOX

    Oracle Provider для OLE DB также поддерживает следующие особенности Oracle:

    • Oracle10g Grid включен, что позволяет разработчикам в полной мере использовать поддержку grid без внесения изменений в существующий код
    • Хранимые процедуры/функции PL/SQL
      • Хранимые процедуры/функции, возвращающие набор строк или несколько наборов строк
      • Параметры LOB с хранимыми процедурами/функциями PL/SQL
    • LOB (LONG, LONG RAW, BLOB, CLOB, NCLOB и BFILE)
    • Связывание параметров NCHAR с операторами SQL
    • Функция истечения срока действия пароля Oracle
    • Поддержка типов данных BINARY_FLOAT, BINARY_DOUBLE, TIMESTAMP и INTERVAL
    • Поддержка нескольких домов Oracle

    Новые функции в Oracle10g

    Прозрачная поддержка Oracle 10g Grid

    Поставщик Oracle для OLE DB поддерживает сетку. Чтобы в полной мере воспользоваться преимуществами грид-технологии Oracle 10g, никаких изменений в коде не требуется! Поставщик Oracle для OLE DB автоматически распознает подключение к сетке базы данных и обеспечивает полную поддержку функций сеток Oracle.

    Поддержка новых типов данных Oracle 10g

    Поставщик Oracle для OLE DB включает значительную поддержку новых типов данных Oracle. Типы данных BINARY_DOUBLE и BINARY_FLOAT представляют значения с плавающей запятой одинарной и двойной точности, которые в основном соответствуют стандарту IEEE754 для арифметики с плавающей запятой. Эти новые типы обеспечивают более быстрые арифметические вычисления и снижают требования к хранилищу. Они также позволяют реализовать опубликованные алгоритмы, определяющие поведение IEEE для арифметических операций. Интенсивные вычисления с обработкой чисел (требования масштаба и точности которых могут быть обеспечены типами IEEE) будут выполняться гораздо быстрее при использовании этих типов, чем при использовании NUMBER. Кроме того, эта функция обеспечивает более чистую интеграцию со средами XML и Java, поскольку она предоставляет аналогичные числовые типы данных для этих сред.

    Поставщик Oracle для OLE DB также обеспечивает поддержку типов данных TIMESTAMP и INTERVAL. Они представляют собой улучшения по сравнению с типом данных DATE, заключающиеся в включении большего количества информации и более высокой точности. Типы данных TIMESTAMP могут предоставлять информацию о часовом поясе и иметь точность до наносекунды. Два типа Oracle INTERVAL предоставляют информацию из года в месяц и день в наносекунду при сравнении меток времени.

    Поддержка нескольких домов Oracle

    Поставщик Oracle для OLE DB может быть установлен в среде с несколькими домами Oracle, начиная с Oracle Database 10g. Однако, поскольку поставщик Oracle для OLE DB является компонентом COM, одновременно может быть активен только один экземпляр. Это означает, что более поздняя установка OLE DB сделает предыдущую неактивной. Клиент может переключаться между установленными версиями клиента OLE DB с помощью Oracle Installer 9.0003

    Заключение

    Поставщик Oracle для OLE DB обеспечивает высокую производительность и надежный доступ к базам данных Oracle для приложений с поддержкой ADO или OLE DB. Нынешние программисты ADO и OLE DB смогут легко перейти на поставщика Oracle, поскольку он соответствует последним спецификациям OLE DB и ADO и обеспечивает доступ к специфическим функциям Oracle. Используя Oracle10g Provider для OLE DB, пользователи Oracle увидят, что их приложения более масштабируемы и надежны.


    Корпорация Оракл
    Всемирная штаб-квартира
    500 Oracle Parkway
    Redwood Shores, CA 94065
    США
    Справки по всему миру:
    +1-650-506-7000
    Факс +1-650-506-7200
    Зарезервировано

    Этот документ предоставляется только в информационных целях, и информация в нем может быть изменена без предварительного уведомления. Пожалуйста, сообщайте обо всех ошибках в корпорации Oracle.