First of all, I want to use the Oracle.DataAccess.dll
to use OracleBulkCopy
.
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.
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.
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.
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.
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.
When I run my program in 64 bit I get the following error:
Could not load file or assembly 'Oracle.DataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342'
When I run it in 32 bit, I get this error:
Unable to load DLL 'OraOps12.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)"
The dlls that I included are:
I managed to make it work.
Download the good version of the ODAC that will target your project.
Unzip it in an empty folder depending on the version you want (32bit vs 64bit).
Locate in the instantclient_12_1
folder all the dlls by searching *.dll in the windows search bar. You need to grab:
oci.dll
ociw32.dll
orannzsbb12.dll
oraociei12.dll
oraons.dll
odp.net4
or odp.net20
folder depending on your .NET version this two dlls:
OraOps12.dll
Oracle.DataAccess.dll
Copy the those 32bit dlls or 64bit dlls and put them directly in the Output path of your project. For example in C:\...\vsProjects\BulkInsert\BulkInsert\bin\Debug
.
Browse Oracle.DataAccess.dll in your project by pointing on the Output path.