32 and 64 bit verions
32 and 64 bit verions
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?
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?
Re: 32 and 64 bit verions
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
Re: 32 and 64 bit verions
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.
Re: 32 and 64 bit verions
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
Re: 32 and 64 bit verions
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 !
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 !
Re: 32 and 64 bit verions
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.
Re: 32 and 64 bit verions
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.
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.
Re: 32 and 64 bit verions
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
Re: 32 and 64 bit verions
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?
Re: 32 and 64 bit verions
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.