Использование другой версии ODAC для подключения к Oracle

В настоящее время я работаю над проектом, в котором мы недавно обновили нашу версию Oracle с 11g до 12c на нашем тестовом сервере, а также мою локальную установку для разработки.

После обновления моей локальной установки я обновил свой ODAC (в основном для Oracle.DataAccess.dll), чтобы использовать 32-разрядную версию 12c. Потребовалось немного проб и ошибок, а также удаление и переустановка ODAC, прежде чем я наконец смог снова подключиться к своей БД.

Сейчас мы рассматриваем возможность обновления ODAC тестового сервера. Я выполнил установку вчера и, как и в случае с моим локальным, я не смог подключиться к БД.

Я поместил файл tnsnames.ora на его место, и этот файл является просто копией оригинала. Я использовал тестовую программу, чтобы узнать, могу ли я вообще открыть соединение, что я могу сделать с помощью новой Oracle.DataAccess.dll. Однако, когда я пытаюсь импортировать это на основной сайт, мы не можем подключиться. Это происходит даже после того, как я удалю исходную ссылку, добавлю новую, указывающую на расположение Oracle.DataAccess.dll.

Мой коллега упомянул, что не имеет значения, какая у нас версия ODAC (11g или 12c), версия 11g должна без проблем подключаться к базе данных 12c. Я как бы сомневаюсь в этом, поскольку он делал такие заявления в прошлом по другим вопросам, а также тот факт, что он согласился с тем, что изначально нам необходимо обновить ODAC.

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

ОБНОВЛЕНИЕ: я подтвердил, что мой коллега был прав, использование 11g ODAC на 12c Oracle DB действительно работает. Однако, лол, он удалил его, прежде чем я смог поговорить с ним об этом, так что да...

Я все еще нахожу подобную проблему даже после удаления ODAC 11g. Мой коллега также очистил записи реестра, в которых было несколько ссылок на 11g, но, тем не менее, у нас есть проблемы.

ОБНОВЛЕНИЕ (8/8/2017): проблема наконец-то решена. Установленный мной 12c ODAC был несовместим с версией Visual Studio, которую я использовал на сервере (VS 2012). Изучив требования к ODAC, я обнаружил это и закатил глаза на это осознание. Мы удалили 12c ODAC и переустановили 11g ODAC. Все теперь нормально работает.

Я попросил обновить VS, чтобы в будущем у нас была совместимая версия для работы. Да вряд ли это случится, лол...


person IyaTaisho    schedule 26.07.2017    source источник
comment
Так в чем тут вопрос?   -  person LifeOfPi    schedule 08.08.2017


Ответы (1)


Ответ на вопрос — совместимость между VS 2012 и 12c ODAC. Перечитав спецификации 12c ODAC, я обнаружил, что версия Visual Studio на нашем сервере не распространяется. У нас есть VS 2012, к которому ODAC не возвращается (по крайней мере, для нашей выпускной версии ODAC), отсюда и проблема.

Обнаружив это, мы вернулись к 11g ODAC, который до сих пор работает с 12c DB.

person IyaTaisho    schedule 08.08.2017