Wrong client version in OCIVersion

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
cis-wurzen
Posts: 75
Joined: Tue 04 Jan 2005 10:26

Wrong client version in OCIVersion

Post by cis-wurzen » Thu 05 Jul 2012 11:52

ODAC 8.2.7 uses function OCIClientVersion in "OraCall.pas".
But checks its return value (<> OCI_SUCCESS).
"VersionAr" contains the right values (for example 11 2 0 3 0) but they are discarded.
Instead it calls GetFileVersion and shows 11.2.0.1.0 (which is wrong for client 11.2.0.3.0).

Oracle documentation and metalink note 363381.1 don't mention to check result of OCIClientVersion.

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: Wrong client version in OCIVersion

Post by AlexP » Mon 09 Jul 2012 08:45

hello,

Unfortunately, Oracle documentation has a mistake. If to look at the ociap.h header file, you can find that the OCIClientVersion function is declared as void

Code: Select all

/*----------------------- OCIClientVersion ------------------------------*/
void OCIClientVersion(sword *major_version,
                      sword *minor_version,
                      sword *update_num,
                      sword *patch_num,
                      sword *port_update_num);
/*----------------------- End OCIClientVersion --------------------------*/
therefore we will change the retrieving of the Oracle client version in the next build.

P.S. The library file version doesn't agree with the real client version.

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: Wrong client version in OCIVersion

Post by AlexP » Fri 20 Jul 2012 12:25

hello,

We've fixed this behaviour and this fix will be included in the next build.

Post Reply