Как выполнить подключение ODBC к ORACLE из SSIS/Visual Studio?

Несмотря на то, что OLE DB и ADO.NET потенциально новее, чем ODBC, я слышал, что подключения ODBC к Oracle потенциально быстрее в SSIS.

Я пытаюсь настроить простое подключение ODBC к базе данных Oracle в службах SSIS.

Соединения OLE DB/ADO.Net были простыми. Я ввел учетные данные и бум, подключился.

ODBC оказывается очень сложным. Я использую Windows 10 64 бит. Visual Studio 2015 (я полагаю, что конструктор для SSIS изначально предназначался только для работы с 32-разрядными подключениями ODBC). Oracle версии 12c.

Итак... Я выполнил запутанную установку драйвера Oracle. Скачал Oracle Basic Light Express + ODBC. Поместите их в тот же каталог. Запустил odbc.install.exe С правами администратора. Наконец-то драйвер Oracle появился в Microsoft ODBC (32 или 64, в конце концов загрузил оба). Я проверяю соединение в настройках Microsoft ODBC? Успех!! НЕЕЕЕТ. .. войдите в Visual Studio. Установить соединение --- проверить --- FAIL! Какая-то загадочная ошибка.... 127 ... "оракул" в quora32.dll не найден.

Доступны ли все еще драйверы Microsoft Drivers для Oracle для загрузки?

если вы протестируете его с 32-битными источниками данных ODBC из Windows, он работает?

Yahfoufi 06.03.2019 09:02

Я попытался найти эту проблему, странно то, что нет доступной документации или статьи по Oracle ODBC, поскольку все доступные статьи относятся к OLEDB и настройке. Я не думаю, что вы получите лучшие ответы, но я надеюсь, что вы получите :)

Yahfoufi 11.03.2019 12:31
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
2
4 819
2

Ответы 2

32-бит против 64-бит

Я думаю, что основная причина проблемы в том, что Visual Studio — это 32-битное приложение. и установленный драйвер ODBC являются 64-битными. С другой стороны, операционная система 64-битная, тогда она будет работать нормально. Проверьте следующие ссылки для получения дополнительной информации:

Разъемы Attunity

Я действительно не пытался подключиться к Oracle с помощью ODBC, но если ваша цель — добиться более высокой производительности, то самый быстрый способ подключения к Oracle из SSIS — это использование Высокоскоростные коннекторы Attunity для Oracle, которые были выбраны Microsoft для включения в службы интеграции SQL Server (SSIS). ).

Проверьте следующие ссылки для получения дополнительной информации:

Я пытаюсь использовать ODBC, чтобы обойти Attunity, так как ходят слухи, что большинство преимуществ Attunity просто потому, что это ODBC. Я предполагаю, что они "выяснили", как подключиться, используя штучку дайум. Я бы использовал их, но для них требуется Enterprise Edition SQL Server (13 тысяч долларов за лицензию). Я написал им по электронной почте, сколько будет стоить их автономный коннектор. Сказали, что ответят в течение 24 часов. Они никогда этого не делали. Отличная компания, я думаю. Во всяком случае, если их преимущество в основном ODBC, подумал, что было бы здорово в этом разобраться - но между Microsoft и Oracle всемогущ Джебус Крист.

user45867 05.03.2019 23:10

@user45867 user45867 я думаю, что это проблема 64-битной и 32-битной версии, проверьте мое обновление ответа

Hadi 05.03.2019 23:59

Visual Studio 32-битная. Моя ОС 64 битная. НО я пробовал как 32-битные, так и 64-битные драйверы от оракула. У меня есть ощущение, что проблема указывает на правильный Oracle Home (драйвер ODBC можно установить только с новой настройкой Oracle Home и установкой клиента, глупо, если вы спросите меня, но многие варианты программного обеспечения есть). ТОГДА есть некоторые вещи, которые просто не работают в VS 2017 по сравнению с VS 2015 (например, собственный OLE DB для Oracle), и, возможно, некоторые соединения ODBC не являются исключением, за исключением того, что они не работают в 2015 году. Правильная «установка» драйвер и/или, возможно, процесс "подписания"

user45867 06.03.2019 18:05

Также может быть необходимо, как и в случае с файлами OLEDB.dll. Не спрашивайте меня, что именно делает эта подпись или зачем она нужна. В любом случае, я хочу сказать, что сложность и отсутствие документации огромны. Это обеспечит рабочие места в сфере ИТ-консалтинга на десятилетия вперед

user45867 06.03.2019 18:06

Attunity — не единственный сторонний драйвер ODBC. Я также вижу пару других сторонних. Кто-то по 3000 долларов, кто-то по 300 долларов... за какого-то водителя. Немного нелепо. Эх. Мои исследования будут продолжены.

user45867 06.03.2019 18:08

Между прочим .... драйверы сторонних производителей (бесплатная пробная версия) ОЧЕНЬ ПРОСТЫЕ для установки ... загрузки ... в любой каталог .... щелкните файл .exe. Бум. Сделанный. Конец. Самый дешевый, который я нашел, стоит 150 долларов за одновременный пользователь. Для компании и улучшения скорости, которые я отметил (в 12 раз быстрее, чем OLE Db, без шуток, в 12-15 раз быстрее). Тем не менее за эту цену, возможно, стоит попытаться установить драйверы ODBC для дома Oracle на полдня, но DAYUM они усложняют это.

user45867 06.03.2019 22:01

Как отмечалось по-разному в этом вопросе, VS IDE (и ее типичная среда тестирования) является 32-разрядной, даже при установке/работе в 64-разрядной Windows или при сборке для использования/развертывания в 64-разрядной Windows. У моего работодателя статья базы знаний, обсуждающая это.

Кроме того, SQL Server, SSIS и VS всегда являются клиентами OLE DB или ADO.NET; они на самом деле не говорят ODBC напрямую. Когда вы сообщаете SQL Server, SSIS или VS о подключении к драйверу ODBC или ODBC DSN, они незаметно используют Поставщик Microsoft OLE DB [Bridge] для драйверов ODBC для этого подключения.

Самый простой способ обойти все это, учитывая, что вы явно хотите использовать ODBC, — установить как 32-разрядные, так и 64-разрядные варианты всех компонентов OLE DB (включая Bridge Provider) и ODBC (и любые библиотеки, для которых они используются). зависят, такие как OCI или Oracle Instant Client), и настроить пару ODBC Система DSN (не Пользователь DSN по нескольким причинам), по одному на 32-разрядный и 64-разрядный, которые имеют одинаковые имена и настройки, за исключением только драйвера библиотека.

Эта стратегия работает независимо от того, используете ли вы драйверы ODBC от моего работодателя (которые могут быть «в 12-15 раз быстрее», о которых упоминалось ранее? если это так, важно отметить, что «одновременные пользователи» Enterprise Edition — это активно подключенные клиенты, а не установленные рабочие места) , от другой третьей стороны или от самих Oracle.

Другие вопросы по теме