Solved

Distributing a windows application with connection to an Oracle database

Posted on 2006-10-30
9
2,046 Views
Last Modified: 2007-12-19
Hello,

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!

thanks,
Sarah
0
Comment
Question by:sarahjackel
  • 4
  • 2
  • 2
  • +1
9 Comments
 
LVL 11

Expert Comment

by:mohammadzahid
Comment Utility
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 :)


0
 
LVL 34

Expert Comment

by:Mark Geerlings
Comment Utility
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.
0
 

Author Comment

by:sarahjackel
Comment Utility
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?

thanks,
Sarah
0
 

Author Comment

by:sarahjackel
Comment Utility
here are the answers to your questions, mohammadzahid

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

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 

Author Comment

by:sarahjackel
Comment Utility
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 2.102.2.20.  I tried changing it to version 10.1.0.400 and ran it from the development machine, but it broke on Connection.Open().

Is this the same issue?
0
 
LVL 34

Expert Comment

by:Mark Geerlings
Comment Utility
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.
0
 
LVL 11

Expert Comment

by:mohammadzahid
Comment Utility
what was the error message when connection to the database failed on  Connection.Open() ?
0
 

Author Comment

by:sarahjackel
Comment Utility
The error is:
an unhandled exception of type 'Oracle.DataAccess.Client.OracleException' occured in Oracle.DataAccess.dll

Additional information: system error


AND:


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
C:\Development\MCounty\AbZMap\Windows\frmSplashScreen.cs:line516
0
 
LVL 1

Accepted Solution

by:
miyahira earned 500 total points
Comment Utility
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\
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

This article started out as an Experts-Exchange question, which then grew into a quick tip to go along with an IOUG presentation for the Collaborate confernce and then later grew again into a full blown article with expanded functionality and legacy…
How to Unravel a Tricky Query Introduction If you browse through the Oracle zones or any of the other database-related zones you'll come across some complicated solutions and sometimes you'll just have to wonder how anyone came up with them.  …
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
This video shows how to copy an entire tablespace from one database to another database using Transportable Tablespace functionality.

772 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

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now