Common Oracle Errors and Solutions
Hello Friends, Many times we come across many oracle related errors which are very annoying and we spend several hours and day spending on finding the solution.
I have aggregated some solutions to common occurring problems for a oracle developer which are as following:
If you don't have Oracle:
Request access through Remedy software request.
Once you have access, you can install Oracle 11g from Run Advertised Programs.
How to Solve "System.Data.OracleClient requires Oracle client software version 8.1.7 or greater."
Check your PATH environment variable. If using 10g, make sure "c:\oracle\product\10.2.0\client_1\bin" comes before any other Oracle path. Example:
Before:
PATH=c:\ORANT\bin;c:\oracle\product\10.2.0\client_1\bin;C:\Windows\Microsoft.NET\Framework…
After:
PATH=c:\oracle\product\10.2.0\client_1\bin;c:\ORANT\bin;C:\Windows\Microsoft.NET\Framework…
This error occurs because you have multiple Oracle Homes and the 10g client (or later) path doesn't come before the older version (ORANT).
For information on how to view and change your PATH environment variable, see How to set the path in Windows 2000 / XP
How to Solve
"Unable to load C:\Oracle\Product\11.2.0_64\client-1\bin\oci.dll. Please check the 32x version of the Oracle client with 32x application"
For applications that use Devart you can either run Devart in Direct mode, which does not require the installation of an Oracle Client, or you can run Devart in OCI (Oracle Call Interface) mode which requires the installation of an Oracle Client.
For OCI mode, since devart references an ORACLE_HOME registry entry at HKEY_LOCAL_MACHINE\Software\Oracle to determine what oci.dll to connect to Oracle, you need to make sure that hte registry entry points to the appropriate ORACLE_HOME location if you have more than one version of the Oracle client installed.
e.g. a 32 bit application running devart will need to make sure its ORACLE_HOME variable is set to C:\Oracle\product\11.2.0\client_1
How to Solve
"Can not obtain Oracle client information from registry. Make sure that Oracle Client Software is installed, or use Direct mode of connecting to server"
It may be related to 32-bit vs. 64-bit issues. Try
1. Right-click on the project in Visual Studio
2. Choose "Properties" (the last item in the context menu)
3. Chose the "Build tab on the left
4. Set the Configuration dropdown to "Release" or "All Configurations"
5. Change Platform target dropdown value to: to "x86"
How to Solve
"Microsoft.Web.Deployment.DeploymentClientServerException: An error was encountered when processing operation 'Create File' on 'OraOps11w.dll'. ---> Microsoft.Web.Deployment.DeploymentException: The error code was 0x80070020. ---> System.IO.IOException: The process cannot access 'd:\inetpub\wwwroot\
When deploying an application, it is possible for the Oracle client files to get locked by the ASP.NET process if your application's assemblies are referenced from it's bin directory. To avoid this you can force the application to run from ASP.NET Temporary Files directory. To do this:
Add
to your applications web.config or app.config in the project where the Oracle client files are referenced
Request WeApps to shut down the app pool for your website
Build and deploy the app and verify the web.config was updated on the web server with the new setting.
Request weapps to restart the app pool.
Retry a normal deploy to ensure your applications' Oracle dlls do not get locked on a deploy.