Как исправить ошибку «Поставщик не совместим с версией клиента Oracle»?

Мы'использовать сборку Oracle.DataAccess.dll версии 2.102.2.20 (32-разрядная версия).

Я развернул наше приложение Web API в IIS и попытался открыть и закрыть соединение:

 private static void CheckConnectionUsingOracleClient(string connection)
        {
            var logger = DiContainer.Resolve();

            try
            {
                logger.LogInfo("Trying to connect to " + connection);
                // check whether you can connect to the shop using Oracle.DataAccess
                using (var cnn = new Oracle.DataAccess.Client.OracleConnection(connection))
                {
                    cnn.Open();
                    cnn.Close();
                }

                logger.LogInfo("Succeeded to connect to " + connection);
            }
            catch (System.Exception ex)
            {
                logger.LogError("Failed to connect to " + connection, ex);
            }
        }

На моей локальной машинеЭто нормально, но на этом сервере он выдает исключение при попытке инициализации OracleConnection:

Инициализатор типа для 'Oracle.DataAccess.Client.OracleConnection» бросил исключение. ---> Oracle.DataAccess.Client.OracleException: поставщик не совместим с версией клиента Oracle.

Я установил клиент Oracle 11.2 (32-разрядный) на сервер, и я вижу, что в GAC (c: \ windows \ assembly) сборка Oracle.DataAccess установлена в 32-разрядной архитектуре процессора. Он отлично работает на одном из наших серверов, но не на этом.

В IIS также яустановитьВключить 32-битное приложение в пуле приложений.

Как это можно исправить? Я'мы потратили более 10 часов, пробуя разные вещи :( Я

В идеале я хотел бы иметь возможность использовать Oracle.DataAccess.dll без необходимости устанавливать клиент Oracle на сервере.

Ответы на вопрос(3)

Ваш ответ на вопрос