I have been searching but just can't find the info I am looking for.
I need to write some functionality in a C++ program that will
correctly determine the Oracle client version. Scanning the registry
does not work because we have noticed that users with multiple Oracle
homes have 'inconsistent' registries. In other words the registry may
or may not indicate the version or Oracle that they are currently
using.
From what I have seen the Oracle Home Selector simply switches the
environment PATH so that the selected Oracle home is first in the
path. Considering this my thought was to search through the PATH and
try to load the oraclient[N].dll to figure out which version was first
in the PATH. So, if I run across oraclient9.dll first then the user
is running Oracle 9x.
This mechanism works but I need to know the version info in even
greater detail (oracle 8.0 and 8.1 both have oraclient8.dll and I need
to load different dlls for each particular instance). Is there an OCI
function that I can use to get the specific version of the Oracle
client? I know that the info is stored in the oraclient[N].dll, I am
hoping there is a way to get it out.
I need to write some functionality in a C++ program that will
correctly determine the Oracle client version. Scanning the registry
does not work because we have noticed that users with multiple Oracle
homes have 'inconsistent' registries. In other words the registry may
or may not indicate the version or Oracle that they are currently
using.
From what I have seen the Oracle Home Selector simply switches the
environment PATH so that the selected Oracle home is first in the
path. Considering this my thought was to search through the PATH and
try to load the oraclient[N].dll to figure out which version was first
in the PATH. So, if I run across oraclient9.dll first then the user
is running Oracle 9x.
This mechanism works but I need to know the version info in even
greater detail (oracle 8.0 and 8.1 both have oraclient8.dll and I need
to load different dlls for each particular instance). Is there an OCI
function that I can use to get the specific version of the Oracle
client? I know that the info is stored in the oraclient[N].dll, I am
hoping there is a way to get it out.