ODP.NET - 无需安装即可部署 ORACLE CLIENT - oraociei11.dll 的大尺寸

5 c# deployment odp.net oracleclient

我在 WPF 应用程序中使用 ODP.NET 来访问 Oracle 10g db。我不想在用户计算机上安装 oracle 客户端,所以我将这些 dll 复制到 realese 文件夹:

  • oci.dll
  • ocijdbc11.dll
  • ociw32.dll
  • Oracle.DataAccess.dll
  • orannzsbb11.dll
  • orasql11.dll
  • OraOps11w.dll

  • oraocci11.dll - 706 KB

  • oraociei11.dll - 126,55 KB

我认为最后两个 dll oraocci11.dll 和 oraociei11.dll 具有相同的功能,但 oraociei11.dll 真的很大。

我想从我的项目中删除 oraociei11.dll。我做到了,但如果我在 realease 文件夹中没有 oraociei11.dll,应用程序就会崩溃。

也许我错了,它们没有相同的功能

可以删除此dll。

gri*_*zly 0

AFAIK .net dll 只是您提到的需要分发的本机 dll 的一种包装器。因此,除了使用所有兆字节的本机 dll 分发应用程序之外,没有其他方法。

此外,这些 dll 的分发还存在许可证限制。我非常确定,除了部署整个安装程序包(遗憾的是,安装程序包非常大并且配置起来非常复杂)并在客户端上运行它之外,Oracle 客户端库不能以任何其他方式自由地重新分发。

  • 我不同意许可部分。Oracle本身提供了一个不需要安装的[即时客户端](http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html)。该许可证授予重新分发的权利:“请注意,Instant Client 是根据 Instant Client 的单独 OTN 开发和分发许可证提供的,该许可证允许大多数被许可人在生产环境中免费下载、重新分发和部署” (3认同)