C# Oracle EXE应用程序在开发者PC上运行,但不在其他用户上运行';为什么?
我正在开发一个连接到Oracle DB的Windows应用程序 我正在开发应用程序的机器上安装了Oracle6i和SQLPlus和Toad,以便通过命令或图形界面访问Oracle。 同样的设置也适用于我工作场所的所有其他计算机 唯一的区别是我的电脑有Visual Studio和Oracle 10g ODP.Net库,使使用Visual Studio开发Oracle应用程序成为可能 我确保在同一路径中包含C# Oracle EXE应用程序在开发者PC上运行,但不在其他用户上运行';为什么?,c#,vb.net,oracle,dll,oracle11g,C#,Vb.net,Oracle,Dll,Oracle11g,我正在开发一个连接到Oracle DB的Windows应用程序 我正在开发应用程序的机器上安装了Oracle6i和SQLPlus和Toad,以便通过命令或图形界面访问Oracle。 同样的设置也适用于我工作场所的所有其他计算机 唯一的区别是我的电脑有Visual Studio和Oracle 10g ODP.Net库,使使用Visual Studio开发Oracle应用程序成为可能 我确保在同一路径中包含Oracle.DataAccess.dll文件以及EXE,以减少对默认路径的依赖性/etc 完
Oracle.DataAccess.dll
文件以及EXE,以减少对默认路径的依赖性/etc
完成的EXE文件在我的计算机上按预期运行,但每当我将其发布到其他计算机时,都会收到以下错误消息:
The type intializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception.
我试图将Oracle.DataAccess.dll的版本从2.111.6.20更改为10.2.0.100。
同样,它在我的电脑上运行良好,但在其他电脑上出现以下异常:
无法加载DLL“OraOps10.DLL”:找不到指定的模块。
我从电脑上复制了上述文件,并将其包含在EXE的已发布文件夹中,但出现了相同的错误消息,就好像.Net应用程序看不到它一样
所有计算机都有Windows 7,并且都是32位的
是否有一种方法可以使应用程序连接到Oracle,而不考虑计算机上本地安装的库或Oracle版本?(无论是检测到安装了Oracle 6i还是10g,Toad的工作方式都是一样的)
我无法在所有计算机上安装Oracle 10g ODP.Net库。据我所知,运行Oracle库的每台电脑上都需要安装Oracle库。我认为您需要在每台机器上安装Oracle客户端。为什么不能安装odp.net?似乎与您要做的相反。@AndrewMortimer oracle 6i客户端已安装在所有计算机上。他们都可以为Oracle运行SQLPlus和Toad。当然,但是.net需要更多。不确定Oracle 6i是否仍在支持中;)