我有一个.NET winforms
应用程序,它使用ODP
连接到oracle db。 ODP安装是32位我在Win 7 64 bit machine
开发应用程序。我在开发机器上将平台目标设置为x86,运行正常。
但是,当我在Win Server 2003 64 bit machine
上测试应用程序时,它给出了异常
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.
当我在Windows 7 64位上将平台目标设置为Any CPU
时,它会给出异常:
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位)上的ODP版本也为11.2.0
如何在两台机器上运行应用程序?有什么想法吗?
答案 0 :(得分:0)
IMO有几个选择: