Несмотря на то, что 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 для загрузки?
Я попытался найти эту проблему, странно то, что нет доступной документации или статьи по Oracle ODBC, поскольку все доступные статьи относятся к OLEDB и настройке. Я не думаю, что вы получите лучшие ответы, но я надеюсь, что вы получите :)





Я думаю, что основная причина проблемы в том, что Visual Studio — это 32-битное приложение. и установленный драйвер ODBC являются 64-битными. С другой стороны, операционная система 64-битная, тогда она будет работать нормально. Проверьте следующие ссылки для получения дополнительной информации:
Я действительно не пытался подключиться к Oracle с помощью ODBC, но если ваша цель — добиться более высокой производительности, то самый быстрый способ подключения к Oracle из SSIS — это использование Высокоскоростные коннекторы Attunity для Oracle, которые были выбраны Microsoft для включения в службы интеграции SQL Server (SSIS). ).
Проверьте следующие ссылки для получения дополнительной информации:
Я пытаюсь использовать ODBC, чтобы обойти Attunity, так как ходят слухи, что большинство преимуществ Attunity просто потому, что это ODBC. Я предполагаю, что они "выяснили", как подключиться, используя штучку дайум. Я бы использовал их, но для них требуется Enterprise Edition SQL Server (13 тысяч долларов за лицензию). Я написал им по электронной почте, сколько будет стоить их автономный коннектор. Сказали, что ответят в течение 24 часов. Они никогда этого не делали. Отличная компания, я думаю. Во всяком случае, если их преимущество в основном ODBC, подумал, что было бы здорово в этом разобраться - но между Microsoft и Oracle всемогущ Джебус Крист.
@user45867 user45867 я думаю, что это проблема 64-битной и 32-битной версии, проверьте мое обновление ответа
Visual Studio 32-битная. Моя ОС 64 битная. НО я пробовал как 32-битные, так и 64-битные драйверы от оракула. У меня есть ощущение, что проблема указывает на правильный Oracle Home (драйвер ODBC можно установить только с новой настройкой Oracle Home и установкой клиента, глупо, если вы спросите меня, но многие варианты программного обеспечения есть). ТОГДА есть некоторые вещи, которые просто не работают в VS 2017 по сравнению с VS 2015 (например, собственный OLE DB для Oracle), и, возможно, некоторые соединения ODBC не являются исключением, за исключением того, что они не работают в 2015 году. Правильная «установка» драйвер и/или, возможно, процесс "подписания"
Также может быть необходимо, как и в случае с файлами OLEDB.dll. Не спрашивайте меня, что именно делает эта подпись или зачем она нужна. В любом случае, я хочу сказать, что сложность и отсутствие документации огромны. Это обеспечит рабочие места в сфере ИТ-консалтинга на десятилетия вперед
Attunity — не единственный сторонний драйвер ODBC. Я также вижу пару других сторонних. Кто-то по 3000 долларов, кто-то по 300 долларов... за какого-то водителя. Немного нелепо. Эх. Мои исследования будут продолжены.
Между прочим .... драйверы сторонних производителей (бесплатная пробная версия) ОЧЕНЬ ПРОСТЫЕ для установки ... загрузки ... в любой каталог .... щелкните файл .exe. Бум. Сделанный. Конец. Самый дешевый, который я нашел, стоит 150 долларов за одновременный пользователь. Для компании и улучшения скорости, которые я отметил (в 12 раз быстрее, чем OLE Db, без шуток, в 12-15 раз быстрее). Тем не менее за эту цену, возможно, стоит попытаться установить драйверы ODBC для дома Oracle на полдня, но DAYUM они усложняют это.
Как отмечалось по-разному в этом вопросе, 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.
если вы протестируете его с 32-битными источниками данных ODBC из Windows, он работает?