Oracle.DataAccess.Client依赖关系 [英] Oracle.DataAccess.Client Dependencies

查看:327
本文介绍了Oracle.DataAccess.Client依赖关系的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

First of all, I want to use the Oracle.DataAccess.dll to use OracleBulkCopy.

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

I want to know all the dlls that I need to be able to read from a database and then perform a bulkcopy in Oracle. Currently, we are using only one dll to perform all the reads from databases, we are using Oracle.ManagedDataAccess.Client. But I can't use it to perform a bulkCopy.

我不想为用户安装ODP.NET,我想直接将dll包含在程序中.因此,我想知道能够在32位和64位中使用Oracle.DataAccess.dll的最低要求的dll.

I don't want to install ODP.NET for the users, I want to include the dll directly in the program. So I want to know the minimum required dlls to be able to use the Oracle.DataAccess.dll in 32bit and in 64bit.

我知道有一些与此相关的旧帖子,但是它很安静,列出的dll已过时.我无法找到其中的一些.

I know that there are some old post about this, but it's quiet old and the listed dlls are out of date. I can't event find some of them.

我为ODAC12安装了ODP.net,并检索了帖子.列出的dll指出了版本11.

I installed the ODP.net for ODAC12 and I retreived all the listed dlls in this post. I also tried with with this post. The listed dlls are pointing out the version 11.

我做了一个虚拟项目,该项目打开一个连接,读取一个表并将其散装到另一个表中.我从项目根目录中的帖子中复制了列出的dll,并在项目中包含了Oracle.DataAccess.dll.

I made a dummy project that opens a connection, reads a table and bulk it in another table. I copied the listed dlls from the posts in the root of the project and I included Oracle.DataAccess.dll in the project.

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

When I run my program in 64 bit I get the following error:

无法加载文件或程序集'Oracle.DataAccess,Version = 4.121.2.0, 文化=中性,PublicKeyToken = 89b483f429c47342'

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

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

When I run it in 32 bit, I get this error:

无法加载DLL'OraOps12.dll':指定的模块不能为 成立. (来自HRESULT的异常:0x8007007E)"

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的良好版本.

  • Download the good version of the ODAC that will target your project.

  1. 对于 32位项目,需要下载ODAC12 ..._ x32.zip(ODAC121021Xcopy_32bit.zip).

  1. For a 32bit project you need to download the ODAC12..._x32.zip (ODAC121021Xcopy_32bit.zip).

对于 64位项目,需要下载ODAC12 ..._ x64.zip

For the 64bit project you need to download the ODAC12..._x64.zip

  • 根据所需的版本(32位和64位)将其解压缩到一个空文件夹中.

  • Unzip it in an empty folder depending on the version you want (32bit vs 64bit).

    通过在Windows搜索栏中搜索* .dll,在instantclient_12_1文件夹中找到所有dll.您需要抓住:

    Locate in the instantclient_12_1 folder all the dlls by searching *.dll in the windows search bar. You need to grab:

    1. oci.dll

    1. oci.dll

    ociw32.dll

    ociw32.dll

    orannzsbb12.dll

    orannzsbb12.dll

    oraociei12.dll

    oraociei12.dll

    oraons.dll

    oraons.dll

    • 根据您的.NET版本,在odp.net4odp.net20文件夹中找到以下两个dll:
      • Locate in the odp.net4 or odp.net20 folder depending on your .NET version this two dlls:
        1. OraOps12.dll

        1. OraOps12.dll

        Oracle.DataAccess.dll

        Oracle.DataAccess.dll

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

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

          Browse Oracle.DataAccess.dll in your project by pointing on the Output path.

          这篇关于Oracle.DataAccess.Client依赖关系的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

  • 查看全文
    相关文章
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆