Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium


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?


Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.


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: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

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

Truncate is a DDL Command where as Delete is a DML Command. Both will delete data from table, but what is the difference between these below statements truncate table <table_name> ?? delete from <table_name> ?? The first command cannot be …
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 how to copy a database user from one database to another user DBMS_METADATA.  It also shows how to copy a user's permissions and discusses password hash differences between Oracle 10g and 11g.
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function
Suggested Courses

580 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