/build/static/layout/Breadcrumb_cap_w.png

Software Deployment Question


How can I deal with what I'm guessing is a conflict with Oracle.ManagedDataAccess.dll?

02/22/2017 1058 views
Hi all,

First off, forgive me as this is probably entirely an Oracle Issue, but I'm wondering if someone out there has done something similar and experienced my issues. I have a Web App installation that handles both SQL and Oracle Db connections. We wanted users to be able to install this app on a server that may not have a local Oracle instance and didn't want those folks to have to install the Oracle Client. So, what I did was simply created a new connection info dialog for Oracle. A click of the Next button on that dialog runs the Custom Action in questions. All the widget does is grabs some of the entered values via PROPERTIES, cobbles together a connection string and tries to open the connection.

I should add here that I am basically a newb to Oracle workings!

The custom action has Oracle.ManagedDataAccess as a Reference. Initially everything was working great with what I'll call a direct connection or using this command line to open the connection...

Code:
connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=mymachinename.mydom.local)(PORT=1521))(CONNECT_DATA=(SID=ORCL)));User Id=ITSME;Password=Password1;"
Working only with this connection, everything worked installing on both a separate server and pointing to the remote Db or installing directly on the Oracle Db Server. However, we're recently learned that we have to support TNSNAMES.ora. So, if this option is chosen, the widget cobbles a connection string as follows...

Code:
connectionString="Data Source=ORCL;User Id=ITSME;Password=Password1;"
This is where the weirdness comes in. To use TNSNAMES.ora our app has to be installed directly on the Oracle Db Server. For some reason, I cannot get this connection check to function properly. It just does not connect and returns...

ORA-12154:TNS:could not resolve the connect identifier specified

I read a bunch and played around and eventually got it to work on one of our test servers after compiling my widget as x64. I thought I had reached the promised land, but there of course was a twist. Apparently our application is having an issue running directly on the Oracle Db Server. On the server I tested on, Oracle's ManagedDataAccess assembly was removed from the GAC so the .dll we ship with in the app would work. Once there was something in the GAC again, my success well, failed!

So, I'm wondering how to best handle this as it seems there is some type of conflict with the ManagedDataAccess .dll Oracle installs to the GAC and what we are using in my widget and our app. This seems like it could be quite hairy.

The current solution for the app is to install .dlls to the GAC. That concerns me as well, but that's a topic for a different day.

In short, is there anyone out there that has created their own Oracle connection dialog with a connection check mechanism similar to mine? If so, did you have issues with Oracle.ManagedDataAccess.dll?

Any information or points to it would be more than GREATLY appreciated!
0 Comments   [ + ] Show comments

Comments


Be the first to answer this question

 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ