gpt4 book ai didi

c# - Oracle.DataAccess.Client 依赖项

转载 作者:太空狗 更新时间:2023-10-29 18:19:58 37 4
gpt4 key购买 nike

首先,我想使用Oracle.DataAccess.dll来使用OracleBulkCopy

我想知道我需要能够从数据库中读取的所有 dll,然后在 Oracle 中执行批量复制。目前,我们只使用一个 dll 来执行所有从数据库中读取的操作,我们使用的是 Oracle.ManagedDataAccess.Client。但我不能用它来执行 bulkCopy。

我不想为用户安装ODP.NET,我想直接在程序中包含dll。所以我想知道能够在 32 位和 64 位中使用 Oracle.DataAccess.dll 所需的最低 dll。

我知道有一些关于此的旧帖子,但它很旧并且列出的 dll 已过时。我什至找不到其中一些。

我为 ODAC12 安装了 ODP.net,并检索了此 post 中列出的所有 dll。 .我也试过这个 post .列出的 dll 指出版本 11。

我做了一个虚拟项目,它打开一个连接,读取一个表并将其批量放入另一个表中。我从项目根目录中的帖子中复制了列出的 dll,并将 Oracle.DataAccess.dll 包含在项目中。

当我以 64 位运行我的程序时,出现以下错误:

Could not load file or assembly 'Oracle.DataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342'

当我以 32 位运行它时,出现此错误:

Unable to load DLL 'OraOps12.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)"

我包含的 dll 是:

  • oci.dll
  • ociw32.dll
  • Oracle.DataAccess.dll
  • orannzsbb12.dll
  • oraocci12.dll
  • oraociei12.dll
  • OraOps12.dll

最佳答案

我设法让它发挥作用。

  • 下载适合您项目的 ODAC 版本。
  1. 对于 32bit项目,您需要下载 ODAC12..._x32.zip (ODAC121021Xcopy_32bit.zip)。

  2. 对于64bit项目你需要下载ODAC12..._x64.zip

  • 根据您想要的版本(32 位与 64 位)将其解压缩到一个空文件夹中。

  • 通过在 Windows 搜索栏中搜索 *.dll,在 instantclient_12_1 文件夹中找到所有 dll。你需要捕获:

  1. oci.dll

  2. ociw32.dll

  3. orannzsbb12.dll

  4. oraociei12.dll

  5. oraons.dll

  • 根据您的 .NET 版本,在 odp.net4odp.net20 文件夹中找到这两个 dll:
  1. OraOps12.dll

  2. Oracle.DataAccess.dll

  • 复制那些 32 位 dll 或 64 位 dll,并将它们直接放在项目的输出路径中。例如在 C:\...\vsProjects\BulkInsert\BulkInsert\bin\Debug 中。

  • 通过指向输出路径浏览项目中的 Oracle.DataAccess.dll。

Solution Explorer Screenshot

UPD:最新版本的 ODP.NET 提供程序(从 here 下载)的文件名中有“19”后缀而不是“12”:

  1. oci.dll

  2. ociw32.dll

  3. orannzsbb19.dll

  4. oraociei19.dll

  5. oraons.dll

  6. OraOps19.dll

  7. Oracle.DataAccess.dll

关于c# - Oracle.DataAccess.Client 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33509331/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com