32 and 64 bit verions

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
sinys
Posts: 186
Joined: Tue 21 Feb 2012 03:44

32 and 64 bit verions

Post by sinys » Wed 12 Jul 2017 07:55

Hello,
Now we have two versions of our application:
The first it is 32 bit version for Oracle 32 bit Client.
The second it is 64 bit version of app for Oracle 64 bit Client.
Our users often do the same mistake, they download 64 bit version because they have Windows x64 (they don't think about Oracle Client version).
Can we change behavior of Init TNS and Oracle Home for x64 version in this scenario:
if we have x64 Oracle Client we need looking for Oracle Home in x64 registry leaf and if it find nothing we have to check 32 bit registry leaf for looking for Oracle 32 bit Client.
If we can do it now please explain how we can do it?

MaximG
Devart Team
Posts: 1822
Joined: Mon 06 Jul 2015 11:34

Re: 32 and 64 bit verions

Post by MaximG » Wed 12 Jul 2017 14:46

You are absolutely right. For 64-bit applications work in OCI Mode with Oracle database, you should have the Oracle Client Software x64 installed on the system. However, it does not matter in which Windows registry branch to search for the presence of Oracle Client - a 64-bit application will not be able to load the 32-bit library. Note that when working with ODAC, you can use the so-called Direct Mode, when the work with Oracle databases is performed without using any external libraries: https://www.devart.com/odac/docs/?work_net.htm

sinys
Posts: 186
Joined: Tue 21 Feb 2012 03:44

Re: 32 and 64 bit verions

Post by sinys » Wed 12 Jul 2017 14:55

Yes, I know about direct mode. But our users prefer use TNS List. Can we emulate TNS list but use direct mode? For this we still need TNS file from 32 bit registry leaf.

MaximG
Devart Team
Posts: 1822
Joined: Mon 06 Jul 2015 11:34

Re: 32 and 64 bit verions

Post by MaximG » Fri 14 Jul 2017 08:09

Please describe the issue in more detail. When using the Direct Mode, TNS List access is not needed. The issue on gaining access to the 32-bit branches of Windows registry is not related to ODAC functionality

sinys
Posts: 186
Joined: Tue 21 Feb 2012 03:44

Re: 32 and 64 bit verions

Post by sinys » Fri 14 Jul 2017 11:31

For connection in Direct Mode we need: host, port, service name or SID - all of this information we have in TNS file.
We need (step-by-step):
1) Get TNS file by ODAC by 32 bit leaf if 64 bit leaf is empty.
2) Parse the TNS file by ODAC
3) Emulate list of Databases from the TNS file
4) Connect by Direct Mode using parameters from TNS file (emulate TNS connection).
profit / enjoy !

MaximG
Devart Team
Posts: 1822
Joined: Mon 06 Jul 2015 11:34

Re: 32 and 64 bit verions

Post by MaximG » Mon 17 Jul 2017 09:15

This feature is not available in our product. You can either implement a similar behavior on your own or leave your feedback at our page UserVoice (https://devart.uservoice.com/forums/104 ... 915-oracle . We will implement this behavior in the case if the suggested feature interests our users.

sinys
Posts: 186
Joined: Tue 21 Feb 2012 03:44

Re: 32 and 64 bit verions

Post by sinys » Mon 17 Jul 2017 14:03

Is not easy to get address of TNS and parse the TNS file. ODAC already can do this.
I need functions from ODAC for get this functionality.
Like
XXX.GetTNSFile32leaf return path to TNS file in 32 registry leaf.
XXX.ParseTNSFile(const TNSFilePath : String) return list of TNS (SID, host, port)
I think it is pretty simple for ODAC team. With this functions I can emulate 32bit functionality for 64bit app build.

MaximG
Devart Team
Posts: 1822
Joined: Mon 06 Jul 2015 11:34

Re: 32 and 64 bit verions

Post by MaximG » Tue 18 Jul 2017 08:23

We will consider adding this feature in future. In your turn, please leave your feedback on our UserVoice page: https://devart.uservoice.com/forums/104 ... 915-oracle We use this service to study the interest of our users in implementing a particular functionality. In addition, the number of voices cast to any suggestion allows us to prioritize new tasks and include them in our soon-to-be-released products timely

sinys
Posts: 186
Joined: Tue 21 Feb 2012 03:44

Re: 32 and 64 bit verions

Post by sinys » Tue 25 Jul 2017 08:48

I put my wish here (https://devart.uservoice.com/forums/104 ... latadtview) 3 years ago. This idea in the top but it isn't complete still. Guys, are you sure that it is working?

MaximG
Devart Team
Posts: 1822
Joined: Mon 06 Jul 2015 11:34

Re: 32 and 64 bit verions

Post by MaximG » Thu 27 Jul 2017 11:34

A large number of votes for a suggestion at UserVoice doesn't mean that it will be implemented immediately. It means that it will be considered earlier than others and will get higher priority in our roadmap, if it corresponds with our components development strategy. In addition, we also assess the work for every feature. A 10-votes feature that might be implemented in an hour will be implemented earlier than another with 100 votes, which implementation would take a year.

Post Reply