Error using oracle.dataaccess.dll

I have a web application that uses Oracle.DataAccess.dll to communicate with Oracle db. A web application deployed on a 32-bit Windows system works, but not on a 64-bit Windows Server. I installed the package 10204_vista_win2k8_x64_production_db, referring to the installed dll (version 2.102.4.0) from the project, but I get the following error:

Failed to load file or assembly "Oracle.DataAccess, Version = 2.102.4.0, Culture = neutral, PublicKeyToken = 89b483f429c47342" or one of its dependencies. The system cannot find the specified file.

+8
windows oracle 64bit
Jan 20 '10 at 11:26
source share
5 answers

The same thing here. The Oracle.DataAccess node is not operating in 64-bit mode.

You must install the application pool for your site in 32-bit mode (go to the application pool Advanced Settings and set Allow 32-bit applications to True)

If this does not work, make sure your Oracle directory (the directory containing all Oracle DLLs) is in your system path. If you forget about it, you get the same cryptic error that you do not detect Oracle.DataAccess.

EDIT

Installing an Oracle client can be a serious pain. Using Oracle Instant Client is slightly easier than installing a full client, so I usually do this:

  • Download Oracle Instant Client
  • Unzip the archive to c: \ oracle (any other directory will do)
  • Open command prompt as administrator
  • type cd \ oracle
  • type configure odp.net20 myhome
  • Right-click My Computer, Advanced System Settings, Environment Variables and add the C: \ oracle directory to the system path
  • Copy the Oracle.DataAccess.dll file from the c: \ oracle \ odp.net \ bin \ 2.x directory to your application folder.
  • (optonally) edit the file c: \ oracle \ tnsnames.ora
+10
Jan 20 '10 at 11:30
source share

I will give you the answers from what I just looked at on Windows Server 2008 R2, which is a 64-bit operating system. The set of library applications I received was developed using .net 3.5 x86 with older DLLs, and I got stuck because I installed new x64 clients from oracle.

I found the following: Install the latest x64 client from Oracle for Windows Server 2008. I believe that this will be client 2.7.0. When you select an installation, make sure you configure it and select the .NET libraries. Configure tnsnames files and test your tnsp against your data source.

Further, if you are using a 32-bit application, install the same client version for 32 bits. In addition, follow the same installation procedure and select the same house.

When you are done, you will find that you have one application / product with two client directories (Client1 and Client2).

if you go to the windows / assemblylies directory, you will find that you have a link to Oracle.DataAccess.dll (x2) with one for x86 and one for AMD64.

Now, depending on whether you have developers or are being developed by yourself on the machine, you may be fine, however, if they use old drivers, you need to complete the last step.

Go to the application directory \ name \ product \ version \ client_1 \ odp.net \ publisher directory \ 2.x. This includes two policy files. use gacutil / i to install Policy.2.111.Oracle.DataAccess.dll in the GAC. This will redirect obsolete ODP calls to new versions. So, if someone has developed a 10g client, he will now work with 11 clients.

If you need more information or need other questions, such as turning 32-bit mode on or off on your .net builds, write to me.

J Banks jbanks27@hotmail.com

Good luck.

+4
Feb 23 2018-10-23T00
source share

If you do not have a 32-bit oracle client running and installed on a 64-bit computer, you will need to install the 64-bit client and grab the oracle.dataaccess.dll file under odp.net from the installed oracle client folder. And you should use this dll and exchange a link to this file instead of using a 32-bit dll. (This is what you probably have for the project / solution)

If you have another oracle client bit, it will not work. therefore you will get such errors. Hope this helps.

See illustration on Implementing Oracle.Web.dll, 64-bit Oracle.DataAccess.dll error on Windows Server 2008 with 32-bit IIS 7.5 disabled

+2
Jul 01 '10 at 15:20
source share

If you are using the 32-bit version of Oracle.DataAccess.dll, you must do one of the following:

a) Deploy to a 32-bit server or

b) Deploy to a 64-bit server with the Enable 32-bit Applications option set to true.

If you are using the 64-bit version of Oracle.DataAccess.dll, you just need to use the 64-bit server.

The problem is because Oracle does not offer a version of Oracle.DataAccess.dll AnyCPU (possibly because it has unmanaged / native parts)

0
Sep 06 '12 at 6:11
source share

If you do the following, everything works fine 1. Install all your DLLs in AnyCPU one by one. 2. Make sure that the corresponding version of the dll is installed on the computer on which the executable file will be executed (that is, 32-bit or 64-bit, that is, like OS) 3. Ignore the compiler's warnings that version 64/32 is being used bit not MSIL version

Then, compiled versions can be used on both 32 and 64 bits, if the corresponding version of the oracle dll is installed.

0
Jun 26 '13 at 17:03
source share



All Articles