Во-первых: Оракул клиент/поставщик беспорядок. И это касается как MS, так и амортизатора, а также Oracle.
Для того, чтобы подключиться к БД Oracle через провайдера ODP.NET три вещи, которые должны быть установлены правильно:
- Oracle клиент должен быть настроен должным образом (не имеет ничего общего с провайдером .NET, это относится к установленному клиенту oracle, обычно в c: \ oracle)
- Поставщик ODP.NET должен быть совместим с установленным клиентом Oracle
- Архитектура клиента и поставщика и ваше приложение должны соответствовать, вы не можете использовать 64-битный клиент с поставщиком/приложением x86 и наоборот.
Обычно лучше всего иметь новейшую версию обоих. Но если вы хотите избавиться от этой проблемы раз и навсегда, используйте сторонний поставщик oracle .NET.
UPDATE
Один из них лучше от DataDirect (не принадлежность):
http://www.datadirect.com/products/net/net-for-oracle/index.html
Это не просто установка (без оракул клиента необходимо), но это также быстрее, полностью управляемый, x64 и общая поддержка - это путь, который лучше, чем то, что вы получаете с ODP.NET. Это будет стоить вам, хотя.
DevArt один довольно приличный, а также (и много гораздо дешевле):
http://www.devart.com/dotconnect/oracle/
Мы решили для DataDirect по причинам расширяемости, это не должно иметь отношение к вам, однако.
Здесь вы можете найти хорошую подборку третьих лиц, которые строят .NET поставщиков, не ограничиваясь оракула, хотя:
http://msdn.microsoft.com/en-us/data/dd363565
Я где-то читал на форуме, что могу указать свой файл web.config на набор мгновенных DLL-файлов oracle. Я не уверен, что это было бы полезно. – Baxter
Кроме того, я охочусь за версией oracle.dataaccess версии 2.112.2.0, которая является версией, установленной на GAC сервера. – Baxter
Варианты сборки клиента Oracle могут быть установлены в файле machine.config. Вы можете проверить это. –