Oracle Dll Load错误:无法在另一台计算机上运行C#控制台应用程序

时间:2019-05-16 07:00:41

标签: c# oracle dll

我已经在Windows上开发了C#控制台应用程序(.NET 4.5.2)

8.1(64位计算机)。 我使用的是Visual Studio 2015(唯一的可用选项,因为我们没有 许可)

我需要访问我的应用程序的Oracle(11G)数据库。

我的要求是我的应用程序应在干净的环境下运行 机器,表示未安装Oracle客户端,并且 一个DLL应该足以访问数据库(就像我们使用Java

JDBC jars)

正如我已经提到的,我在Windows 8.1(64

位)在Visual Studio 2015构建配置中使用x64

我使用Oracle.DataAccess进行数据库访问,我只是添加了Oracle.Web

也在参考文献中。 一切都能在我的机器上正常工作。

现在,当我尝试运行内置的应用程序(带有所有dll的exe

Windows Vista(64位计算机)上的

同一文件夹) 我收到以下错误。

D:\ distribution_C#_x64> EAS_Background_Alert.exe 未处理的异常:System.TypeInitializationException:类型 初始化器 r'Oracle.DataAccess.Client.OracleConnection'引发异常。 -> System.Dl lNotFoundException:无法加载DLL'OraOps12.dll':指定 模块库 d未找到。 (来自HRESULT的异常:0x8007007E)    在Oracle.DataAccess.Client.OpsInit.CheckVersionCompatibility (字符串版本)    在Oracle.DataAccess.Client.OracleInit.Initialize()    在Oracle.DataAccess.Client.OracleConnection..cctor()    ---内部异常堆栈跟踪的结尾---

我在文件夹中有以下dll 1. oci.dll 2. ociw32.dll 3. Oracle.DataAccess.dll 4. Oracle.Web.dll 5. oramts.dll 6. oramts12.dll 7. oramtsus.dll 8. orannzsbb12.dll 9. oraocci12.dll 10. oraociei12.dll 11. oraons.dll 12. OraOps12.dll

我从ODAC(oracle数据访问客户端文件夹

迷上了我的机器)

任何人都可以帮忙吗?

[注意:我只是想提一下,我的应用程序会生成pdf报告

,我的文件夹中也有itextsharp.dll(并且在我的

上运行良好

机器)]

此外,今天我尝试在Windows Vista上运行它,明天可能是

Windows 7。 因此,如何确保已构建的应用程序可以在

上正常运行

所有机器。

1 个答案:

答案 0 :(得分:0)

好像您没有安装Oracle Instant client(或任何other版本的Oracle Client)。这是前提条件。

这里还有另一个link

下载,解压缩,然后在您的项目中进行引用(复制本地:True)