Oracle.DataAccess.Client依赖关系 [英] Oracle.DataAccess.Client Dependencies
问题描述
首先,我想使用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.
-
对于 32位项目,需要下载ODAC12 ..._ x32.zip(ODAC121021Xcopy_32bit.zip).
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:
-
oci.dll
oci.dll
ociw32.dll
ociw32.dll
orannzsbb12.dll
orannzsbb12.dll
oraociei12.dll
oraociei12.dll
oraons.dll
oraons.dll
- 根据您的.NET版本,在
odp.net4
或odp.net20
文件夹中找到以下两个dll: - Locate in the
odp.net4
orodp.net20
folder depending on your .NET version this two dlls: -
OraOps12.dll
OraOps12.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屋!
Oracle.DataAccess.dll
Oracle.DataAccess.dll