When there is more than one database client software version on a given server, how does Uniface know which one to use? Is it solely through the driver version in the assignment file? This implies that a given driver version only applies to one database client version.
In our case, we have both Oracle 12cR2 and 19c on the same server. The driver for 12cR2 is U7.2 and for 19c is U7.3. Seems like all I would have to do is change the driver version from U7.2 to U7.3 in order to point to the 19c client version.
Thank you for your help.
------------------------------
Jim Mitchell
State of Oregon, DCBS
Salem OR US
------------------------------
Hey Jim,
The Uniface client doens't really know what the database engine version is.
The PATH variable is the ultimate conductor for this:
If the Oracle 12c library patch sits in front of 19c - Uniface will use 12c...
If 19c sits in front of 12c, Uniface will use 19c.
Uniface --> uora7.x --> oci.dll (whichever version of Oracle client library sits first in the PATH variable)
I hope this makes sense.
Regards,
Knut
------------------------------
Knut Dybendahl
------------------------------
Hey Jim,
The Uniface client doens't really know what the database engine version is.
The PATH variable is the ultimate conductor for this:
If the Oracle 12c library patch sits in front of 19c - Uniface will use 12c...
If 19c sits in front of 12c, Uniface will use 19c.
Uniface --> uora7.x --> oci.dll (whichever version of Oracle client library sits first in the PATH variable)
I hope this makes sense.
Regards,
Knut
------------------------------
Knut Dybendahl
------------------------------
Hi Knut,
Yes, this makes sense. Thank you for responding so promptly.
I'm not sure, however, that the order of the values in the variable makes a difference. I located notes from a prior database client upgrade in our shop where the install of the new client replaced the value of the old client in the variable. Our tech had to add the old value back into the variable (so that both existed) but wasn't concerned about where it was added.
Anyway, knowing that the PATH variable is the conductor and that OCI is involved in this connection (because we have dpc as one of our Oracle parameters) helps greatly.
Thank you again, Knut.
------------------------------
Jim Mitchell
State of Oregon
Salem OR US
------------------------------
Hi Knut,
Yes, this makes sense. Thank you for responding so promptly.
I'm not sure, however, that the order of the values in the variable makes a difference. I located notes from a prior database client upgrade in our shop where the install of the new client replaced the value of the old client in the variable. Our tech had to add the old value back into the variable (so that both existed) but wasn't concerned about where it was added.
Anyway, knowing that the PATH variable is the conductor and that OCI is involved in this connection (because we have dpc as one of our Oracle parameters) helps greatly.
Thank you again, Knut.
------------------------------
Jim Mitchell
State of Oregon
Salem OR US
------------------------------
Hello Jim
I use scripts like these to start against specific database environment:
@echo off
setlocal
set "THEVERSION=104R2w64"
set "UNIFACE_HOME=C:\\uniface\\installations\\%THEVERSION%"
set "PATH=%UNIFACE_HOME%\\common\\bin;%PATH%"
set "PATH=C:\\Oracle\\instantclient_19_17_x64;%PATH%"
set "TNS_ADMIN=C:\\Oracle"
set "_EXE=%UNIFACE_HOME%\\common\\bin\\uniface.exe"
set "ADM=%UNIFACE_HOME%\\uniface\\adm"
set "ASN=.\\asn\\uniface_%THEVERSION%.asn"
set "INI=C:\\uniface\\project\\ini\\unicode%THEVERSION%.ini"
call "%_EXE%" /dir=".." /adm="%ADM%" /asn="%ASN%" /ini="%INI%" TESTFORM
endlocal
exit
------------------------------
Peter Beugel
Rocket Internal - All Brands
Amsterdam NL
------------------------------
Hello Jim
I use scripts like these to start against specific database environment:
@echo off
setlocal
set "THEVERSION=104R2w64"
set "UNIFACE_HOME=C:\\uniface\\installations\\%THEVERSION%"
set "PATH=%UNIFACE_HOME%\\common\\bin;%PATH%"
set "PATH=C:\\Oracle\\instantclient_19_17_x64;%PATH%"
set "TNS_ADMIN=C:\\Oracle"
set "_EXE=%UNIFACE_HOME%\\common\\bin\\uniface.exe"
set "ADM=%UNIFACE_HOME%\\uniface\\adm"
set "ASN=.\\asn\\uniface_%THEVERSION%.asn"
set "INI=C:\\uniface\\project\\ini\\unicode%THEVERSION%.ini"
call "%_EXE%" /dir=".." /adm="%ADM%" /asn="%ASN%" /ini="%INI%" TESTFORM
endlocal
exit
------------------------------
Peter Beugel
Rocket Internal - All Brands
Amsterdam NL
------------------------------
Peter,
Thank you for the script; it's a good option to direct your Uniface app to a specific database client.
------------------------------
Jim Mitchell
State of Oregon
Salem OR US
------------------------------
When there is more than one database client software version on a given server, how does Uniface know which one to use? Is it solely through the driver version in the assignment file? This implies that a given driver version only applies to one database client version.
In our case, we have both Oracle 12cR2 and 19c on the same server. The driver for 12cR2 is U7.2 and for 19c is U7.3. Seems like all I would have to do is change the driver version from U7.2 to U7.3 in order to point to the 19c client version.
Thank you for your help.
------------------------------
Jim Mitchell
State of Oregon, DCBS
Salem OR US
------------------------------
Hello Jim,
Do you really need to keep both Oracle client versions ?
You can use client 19c and connect to a 12cR2 database.
So I believe that you need to keep only 19c client and set Uniface driver accordingly. This should work on both databases.
Stephane
------------------------------
Stephane Pfefer
Application Specialist
Darling
------------------------------
Hello Jim,
Do you really need to keep both Oracle client versions ?
You can use client 19c and connect to a 12cR2 database.
So I believe that you need to keep only 19c client and set Uniface driver accordingly. This should work on both databases.
Stephane
------------------------------
Stephane Pfefer
Application Specialist
Darling
------------------------------
Hello Stephane,
The reason we have both client versions is that some of our older (non-Uniface) platforms depend on the12cR2 client. We are upgrading our Uniface software from version 10.3.02 to 10.4.02 so need the 19c client for the new version. Our backend server database version is already 19c so when the other platforms are upgraded or replaced, we can remove the 12cR2 client.
Hope that helps explain the situation. Thank you for your reply.
------------------------------
Jim Mitchell
State of Oregon
Salem OR US
------------------------------