Jak naprawić „dostawca nie jest kompatybilny z wersją klienta Oracle”?

Korzystamy z zespołu Oracle.DataAccess.dll w wersji 2.102.2.20 (32 bity).

Wdrożyłem naszą aplikację Web API do IIS i próbowałem otworzyć i zamknąć połączenie:

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

            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);
            }
        }

Na moim komputerze lokalnym jest w porządku, ale na tym serwerze zgłasza wyjątek podczas próby zainicjowania połączenia OracleConnection:

Inicjator typu dla „Oracle.DataAccess.Client.OracleConnection” zgłosił wyjątek. ---> Oracle.DataAccess.Client.OracleException: Dostawca nie jest zgodny z wersją klienta Oracle

Zainstalowałem klienta Oracle 11.2 (32-bitowego) na serwerze i widzę, że w zestawie GAC (c: windows) zespół Oracle.DataAccess jest zainstalowany w 32-bitowej architekturze procesora. Działa dobrze na jednym z naszych serwerów, ale nie na tym.

W usługach IIS ustawiłem także „Włącz 32-bitową aplikację” w puli aplikacji.

Jak to naprawić? Do tej pory spędziłem ponad 10 godzin próbując różnych rzeczy :(

Idealnie chciałbym móc używać Oracle.DataAccess.dll bez konieczności instalowania klienta Oracle na serwerze.

questionAnswers(3)

yourAnswerToTheQuestion