2

我在查询 Oracle 数据库时使用了 oracle.dataaccess.dll。但是如果用户没有在他的机器上安装 Oracle 客户端,它就不起作用。是否有可能以某种方式将 Oracle 客户端包含在 dll 中,这样用户就不必显式安装客户端?

4

4 回答 4

5

托管的 ODP.net 客户端正是您想要的。现在已经发布了 12c 版本,它是一个简单的单一程序集,您可以随应用程序一起部署,而不必担心 Oracle 安装。

如果您不想在系统上安装,也可以使用一个 nuget 包。启动和运行非常轻松。这里有一些链接:

于 2013-04-10T12:17:44.297 回答
3

您可以将Oracle Instant Client与您的应用程序一起提供。

这是一个完整的Oracle客户端,但不需要安装,可以直接使用。

但是,您需要注意以下事项:

  1. 即时客户端的大小超过 120 MB。
  2. 您需要用于 x86 和 x64 的不同版本的即时客户端,使大小达到约 250 MB。

使用即时客户端的好处是您不必担心安装的 Oracle 客户端版本。即使计算机已经安装了不兼容的版本,您的应用程序也可以运行,因为它带有正确的版本。

于 2013-04-10T11:23:02.680 回答
0

如果您有能力付款,我已经使用 DevArt 的DotConnect for Oracle作为 Oracle 提供的客户端的替代方案取得了相当大的成功。

它提供了一种完全托管的连接和查询 Oracle 的方式,以及实体框架和 nHibernate 支持和仿真GUIDsbooleans以及 Oracle 缺乏支持的一些其他数据类型(GUIDraw(16)Oracle 中)。

您所要做的就是为您的项目提供一个托管 DLL。

于 2013-04-10T11:41:52.930 回答
0

我终于通过在我的 app.config 中创建 Oracle 连接字符串并复制所有客户端 DLL 来让它工作,如下图所示:

我复制的DLL

于 2017-03-16T21:46:08.727 回答