У меня очень похожая ситуация, как описано ниже в теме:
Поставщик OraOLEDB.Oracle не зарегистрирован на локальном компьютере при работе с консольным приложением?
У меня есть веб-приложение .Net 4.5 на windows server 2016 и vs2017 с конфигурацией «Любой процессор». У меня есть сервисный слой для подключения к базе данных оракула и получения данных. Он работает очень хорошо и подключается к базе данных Oracle.
Теперь у меня есть консольное приложение для запуска задания, и после его завершения мне нужно обновить базу данных. Я вызываю сервисный уровень из консольного приложения для обновления базы данных. Однако этот вызов завершается неудачно и выдает сообщение об ошибке «Поставщик OraOLEDB.Oracle» не зарегистрирован на локальном компьютере ».
Решение, предоставленное в приведенном выше посте (то есть компилирование вашего консольного приложения в x86), работает для меня, но у меня нет этой опции (так как у меня есть зависимость и от некоторых других вещей).
Есть ли у меня другие варианты решения этой проблемы?
РЕДАКТИРОВАТЬ: я удалил установленный на компьютере клиент oracle, а затем переустановил 64-битный ODAC, но проблема все еще та же: (