OCI and getting client version

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Ope

    OCI and getting client version

    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.
Working...