我正在开发一个连接到Oracle DB的Windows应用程序。
我正在开发应用程序的机器上安装了Oracle 6i,SQLPlus和Toad通过命令或图形界面访问Oracle。 我工作场所的所有其他计算机都采用相同的设置。
唯一的区别是我的电脑有Visual Studio和Oracle 10g ODP.Net库,可以使用Visual Studio开发Oracle应用程序。
我确保将Oracle.DataAccess.dll
文件与EXE一起包含在同一路径中,以减少对默认路径的依赖等。
完成的EXE文件在我的计算机上按预期运行,但每当我将其发布到其他计算机时,都会收到以下错误消息:
The type intializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception.
我尝试将Oracle.DataAccess.dll
的版本从2.111.6.20更改为10.2.0.100。
再一次,它在我的电脑上完美运行,但在其他电脑上给出了以下例外:
Unable to load DLL 'OraOps10.dll': the specified module could not be found.
我从我的电脑上复制了上述文件并将其包含在EXE的已发布文件夹中,但出现了相同的错误消息,好像它对.Net应用程序不可见。
所有计算机都有Windows 7,所有计算机都是32位。
有没有办法让应用程序连接到Oracle,无论计算机上本地安装的库或Oracle版本是什么? (无论是否检测到Oracle 6i或10g安装,Toad的工作方式相同)?
我无法在所有计算机上安装Oracle 10g ODP.Net库。