Go Premium for a chance to win a PS4. Enter to Win


Distributing a windows application with connection to an Oracle database

Posted on 2006-10-30
Medium Priority
Last Modified: 2007-12-19

Last time I asked this question, I asked what was required for an application that access oracle  on a server and uses a TNSnames file.  The answer I got was that I needed to install the oracle client.

I tested it out on a machine that didn't have oracle.  Installed the client and my application.

I am getting 2 errors.  The first is "The procedure entry point kge_pop_guard_fr coulf not be located in the dynamic link library orageneric.dll"

and the second one is:  "Unable to load DLL (OraOps10.dll)"

I tried installing ODP, but it didn't make a difference.  How do I get this working?  Please, be detailed...I am an oracle newbie!

Question by:sarahjackel
  • 4
  • 2
  • 2
  • +1
LVL 11

Expert Comment

ID: 17838661
Can you please list the exact steps in detail befor you get these errors:

- application type (C++, Java, Vb, etc..)
- database version
- Server Operating system
- client machine operating system
- Database version?

Cheers :)

LVL 35

Expert Comment

by:Mark Geerlings
ID: 17839532
This error: "Unable to load DLL (OraOps10.dll)" indicates that your application expects to find an Oracle10 client.  Which version of the Oracle client did you install?  Did you do a "full" or "administrator level" install of the Oracle client, or just a more limited client install?  I saw this error recently on a machine that used a C# program.  The solution was to do a full "administrator" install of the Oracle10 Oracle client to get the OraOps10.dll file that the application expected.

Author Comment

ID: 17844119
Thanks for the suggestion.  I had only installed the runtime client.  I uninstalled it and reinstalled the administrator client.  

The error I was having seems to be resolved, but now when I load my application I get this error: "Connection must be open for this operation"

I found on this website: http://forums.oracle.com/forums/thread.jspa?threadID=315550&tstart=0

 that the problem is caused by Oracle.DataAccess.dll being included in the dependencies of the setup application and that is needs to be excluded.  I did this and reinstalled, but the dll still shows up there.  If I delete it and run the app, it reinstalls it.

I thought maybe if I tried installing it on a machine that has never had my application, it may behave differently, but no.  The dll shows up even though it has been excluded.

any suggestions?

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.


Author Comment

ID: 17844265
here are the answers to your questions, mohammadzahid

- application type (C++, Java, Vb, etc..)  - C# windows app
- database version – (on server)  Oracle 10g Release
- Server Operating system- Windows server 2003; service pack 1
- client machine operating system – windows XP professional; service pack 2
      Oracle Client – Administrator type;
- Database version? ??

Author Comment

ID: 17844874
I'm not sure if this willgive a better clue to my problem, but I just discovered it...

the reference to Oracle.DataAccess in my applicaiton is version  I tried changing it to version and ran it from the development machine, but it broke on Connection.Open().

Is this the same issue?
LVL 35

Expert Comment

by:Mark Geerlings
ID: 17845194
I know how to get the Oracle client to communicate with an Oracle database, but I have very little experience with non-Oracle programs that try to use an Oracle client, and that is limited to those that use Oracle's ODBC driver.  Your application uses something else in the Oracle client that I am not familiar with.
LVL 11

Expert Comment

ID: 17846100
what was the error message when connection to the database failed on  Connection.Open() ?

Author Comment

ID: 17846247
The error is:
an unhandled exception of type 'Oracle.DataAccess.Client.OracleException' occured in Oracle.DataAccess.dll

Additional information: system error


Oracle.DataAccess.Client.OracleException Data provider internal error(-3000)
[System. Runtime.InteropServices.COMException(0x80004005);Unspecified error (Exception form HRESULT: 0x80004005(E_FAIL))
at Oracle.DataAccess.Client.OpsCon.Open(IntPtr&opsConCtx, IntPtr&opsERRCTX,OpoConValCtx, OpoConRefCtx&pOpoConRefCtx)
at Oracle.DataAccess.Client.ConnectionDispenser.CreateConnectionPool(OpoConCtx&opoConCtx)]
at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opoErrctx, OpoSqlValCtx* pOpoSqlValCtx, Object src, string procedure)
at Oracle.DataAccess.Client.OracleException.HandleErrorInt32 errCode, OracleConnection conn, IntPtr opoErrctx, Object src)
at Oracle.DataAccess.Client.OracleConnection.Open()
at MORGAN.AbZMap.DatabaseMethods.SharedPrecinctread() in
C:\Development\MCounty\AbZMap\Windows\DatabaseMethods.cs:line 109
at MORGAN.frmSplashScreen.LoadPrecnct(backgroundWorker bw, Int32 sleepPeriod) in

Accepted Solution

miyahira earned 1500 total points
ID: 19329767
Well, for anyone who is dealing with this problem and ASP.NET, the solution is to give permissions for user ASP.NET on the folder: C:\Oracle\...\bin\

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Note: this article covers simple compression. Oracle introduced in version 11g release 2 a new feature called Advanced Compression which is not covered here. General principle of Oracle compression Oracle compression is a way of reducing the d…
Background In several of the companies I have worked for, I noticed that corporate reporting is off loaded from the production database and done mainly on a clone database which needs to be kept up to date daily by various means, be it a logical…
This video shows syntax for various backup options while discussing how the different basic backup types work.  It explains how to take full backups, incremental level 0 backups, incremental level 1 backups in both differential and cumulative mode a…
This video shows how to copy an entire tablespace from one database to another database using Transportable Tablespace functionality.

963 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question