Distributing a windows application with connection to an Oracle database


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!

Who is Participating?
miyahiraConnect With a Mentor Commented:
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\
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 :)

Mark GeerlingsDatabase AdministratorCommented:
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.
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

sarahjackelAuthor Commented:
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?

sarahjackelAuthor Commented:
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? ??
sarahjackelAuthor Commented:
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?
Mark GeerlingsDatabase AdministratorCommented:
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.
what was the error message when connection to the database failed on  Connection.Open() ?
sarahjackelAuthor Commented:
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.