Hi all,

I have an install for a web app that can have either a SQL or Oracle backend. The current install work does contain a SQL connection dialog (I created my own connection test method because the IS procedure seemed a little shaky or I just don't understand it fully) and I'm wondering if there is an Oracle connection dialog available.

I do like the server/database browse function of the SQL dialog, but I'm not a database guy, but don't believe that will work properly for Oracle. In other words I would have radio buttons for the database selection then use the same connection dialog, just call a different verification action based on the radio button selection.

The documentation mentions Oracle Instant Client as part of this so I don't know if that is needed for what I want to do.

Any help/clarity would be more than GREATLY appreciated!!

I did post this over at Flexerasoftware and was wondering, do these multiple posts both anyone who may frequent both boards?  I seem to get answers quicker here at ITNinja but always want to leave my options open.

 THANKS!

0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Answers

0
You'll need one flavour or another of Oracle Client in order to get the drivers.

Connections to Oracle databases is done using the TNSNAMES.ORA file. If you can, host that on a network share. Using local copies is an administrative nightmare.

Other than that, you'll need to create an ODBC configuration for the database - simple enough, as it's registry data.
Answered 08/21/2015 by: VBScab
Red Belt

Please log in to comment
0

Thanks for that!

Is the TNSNAMES.ORA file something that will be in an end user's environment and queried by the installer?

I'll dig into research of the registry items you mentioned, but with all of this, can I eventually test the connection from a button on a Dialog?

Answered 08/21/2015 by: Superfreak3
Black Belt

Please log in to comment
0
Its location can be gleaned from the registry. Parsing it will be painful.

Off the top of my head, I can only think of one way to programmatically test an Oracle connection and that's by using TNSPING, a command line tool which is installed as part of Oracle Client (and, most likely, a bunch of other Oracle tools).
Answered 08/21/2015 by: VBScab
Red Belt

Please log in to comment
0
Just to add to VBScab's posting - as I understand it, the newer Oracle clients can use active directory in place of TNSNAMES.ORA.
Basically, you need to check what your company is using and whether they have any standards for Oracle deployments.  The client should be configured using the Oracle Universal Installer as long as the client version is 8 or greater. There is plenty of information on the internet on how to use the OUI and it's quite easy to wrap into an MSI if you are so inclined.
You may also need to manage Oracle Homes as they all have a different number if there is more than one home on a machine. Mostly its registry based. Even Oracle themselves are unsure whether the home numbers need to be consecutive without gaps or whether gaps are allowed.
Once the Oracle driver is installed, the actual ODBC settings are easy peasy as they are registry based.
Answered 08/21/2015 by: EdT
Red Belt

Please log in to comment
0

Thanks Guys!  That's great info to dig into!!

I'll have to talk to our in-house Oracle guru's about how it will fit into plans.  For the SQL connection check, the install does not have to be occurring on the SQL Server.  Those credentials are set via the Server/Database browse controls on the canned SQL Login dialog.  Is it even possible to check an Oracle connection remotely or does the install have to be running on the Oracle dB Server?

Maybe researching the OUI will shed some light on that.

Answered 08/21/2015 by: Superfreak3
Black Belt

Please log in to comment
0
newer Oracle clients can use active directory in place of TNSNAMES.ORA
Now just waaaaaaait a minute! Are you trying to tell me that it's no longer 1985 in Oraceland?!?
Answered 08/24/2015 by: VBScab
Red Belt

Please log in to comment
0
Yup, I think they are only 10 years behind the rest of us now. That of course does not mean that the older Oracle clients can be dropped - it's only a couple of years since I ended up running a capture and repackage (with some additional content) of Oracle V7 client. Considering we are at around V12 these days, it just goes to show how much obsolete Oracle crap is still out there.
There are arguments for having the TNSNAMES.ORA locally as this removes a potential single point of failure, and also allows the developer community to tinker with their files without affecting the rest of the user base. Just setting the TNSADMIN environment variable to point to the location of the file locally will override any other settings.  I don't know much about Oracle environments in reality but I was forced to do the research on the internet when trying to get many different departments to agree on a standard for a forthcoming desktop refresh. In the end I enforced what I thought was the best solution and then finally some decisions were made which brought everything into line.  I hate Oracle and their cockeyed way of doing things!

Answered 08/24/2015 by: EdT
Red Belt

Please log in to comment
This content is currently hidden from public view.
Reason: Removed by member request
For more information, visit our FAQ's.

0
I've been following along in the IS User's Guide and added the instant client 12c to my installer as a prereq.  The problem is that I can't select/set any Oracle version requirements on the SQL connection.  The only product from Azure, SQL, MySQL, Oracle that is available to select versions is SQL.  Does anyone know what governs this?
Answered 08/28/2015 by: Superfreak3
Black Belt

  • So, I'm back to needing some Oracle functionality in my installer and still can't get it to work. I create the connection, but like I said above I don't see anything available for Oracle. When I get to the SQL Login dialog I don't see the Oracle server via Browse. We're testing this on Oracle Db server, which I'm told should have the needed Client stuff in place. What am I missing.
Please log in to comment
Answer this question or Comment on this question for clarity