У меня есть приложение .NET winforms
, которое использует ODP
для подключения к oracle db. Установка ODP - 32 бит. Я разрабатываю приложение на Win 7 64 bit machine
. Я устанавливаю платформу как x86 на машине разработки, и она работает нормально. Но когда я тестировал приложение на Win Server 2003 64 bit machine
он дал исключениеODP.NET 32 бит на Win 7 64 бит и Win Server 2003 64 бит
The type initializer for 'Oracle.DataAccess.Client.OracleCommand' threw an exception.
UNHANDLED EXCEPTION STACK TRACE:at Oracle.DataAccess.Client.OracleCommand.Dispose(Boolean disposing)
at System.ComponentModel.Component.Finalize()
UNHANDLED EXCEPTION SOURCE: Oracle.DataAccess
UNHANDLED EXCEPTION INNER EXCEPTION: Oracle.DataAccess.Client.OracleException The provider is not compatible with the version of Oracle client at Oracle.DataAccess.Client.OracleInit.Initialize()
at Oracle.DataAccess.Client.OracleCommand..cctor()
UNHANDLED EXCEPTION DATA: System.Collections.ListDictionaryInternal
UNHANDLED EXCEPTION MESSAGE: The type initializer for 'Oracle.DataAccess.Client.OracleCommand' threw an exception.
И когда я установил целевой платформы для Any CPU
на Windows 7 64 бит, что дает исключение:
Could not load file or assembly 'Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. An attempt was made to load a program with an incorrect format.
версии ODP на развитие машина (Win 7 64 бит) равна 11.2.0
и на тестовой машине (Win Server 2003 64 бит) также является 11.2.0
Что мне делать для запуска приложения на обеих машинах? Есть идеи?
Существует 'ORACLE_BASE \ ORACLE_HOME \ odp.net \ bin \ 2.x', но в моей установке ODP нет' ORACLE_BASE \ ORACLE_HOME \ odp.net \ bin \ 4'. – gesus