How to use Oracle Instantclient with Full Clients being installed

nic

Member
We have the following situation: We are Using PL/SQL Developer (16.0.8) in an environment where multiple Oracle Full Clients are installed and we would like to use the latest Oracle Instantclient (23.26) in PL/SQL Developer. The issue here is: PL/SQL Developer uses the Primary Oracle Home from the Oracle Home Registry (set with Oracle Home Selector). The Instantclient is not in this registry and we don't want to remove the Oracle Home registry. We could configure PL/SQL developer to use the Instantclient, but for this we would need to change the PL/SQL Developer user settings or ensure that PL/SQL Developer is always started with the command-line parameter "InstantClient". Is there any other option? I was looking for an environment variable with an equivalent behavior like the "Instantclient" command-line parameter that we could set to override the Oracle client selection of PL/SQL Developer, but I was not able to find any.
 
You can set any command-line parameter in the Params.ini file in the PL/SQL Developer installation directory. This ensures that the parameter is used, regardless how PL/SQL Developer is started.
 
@Marco Kalter Thank you for this quick response. This already helps a lot. However, given that application updates are done by our CIT department, I expect that any changes we make on the params.ini will be overridden as soon as the next PL/SQL Developer Update will be installed by the CIT department. It will probably be error-prone to establish a workflow that ensures, that the params.ini file will be updated together with every application update. Are there currently any other options? Perhaps to define params.ini in a more "persistent" path? Or could you perhaps consider an extension for this use case in an upcoming version of PL/SQL Developer? This could perhaps be, e.g., a params.ini in different location or environment variable that takes precedence.
 
The Params.ini file from the installation directory is copied to the %APPDATA%\PLSQL Developer 16 directory when a user starts PL/SQL Developer. It can be maintained at this location as well, so that a software install/uninstall/update does not affect it.
 
OK, thanks and good to know that. When params.ini is also copied to %APPDATA% which options will be used and preferred? Let's say %ProgramFiles%\PLSQL Developer 16\params.ini contains option InstantClient but in file %APPDATA%\PLSQL Developer 16\params.ini InstantClient option is not set? Will InstantClient option from %ProgramFiles% be used? What happens if both files exist and both contain an InstantClient option?

Our use case is a terminal server environment. We need to set and change options like this InstantClient option for all users. It would be tedious to change all user data files if the InstantClient location changes. So we would like to set options in one file which are then always preferred. From my point of view, params.ini in %ProgramData% would be a nice solution, as this a global directory and it survives any uninstalls or updates of the application. Would that be possible? This would allow us to set options for all users and it would survive any changes which could occur in %ProgramFiles% due to uninstalls or updates.
 
The %APPDATA% directory will take precedence over the installation directory, so that your customization will be preserved for existing users. This will not help for new users of course. I have added the %ProgramData% suggestion to the list of enhancement requests.
 
Last edited:
  • Like
Reactions: nic
Back
Top