Question

Oracle client libraries could not be loaded. Windows Server 2008

  • 15 March 2013
  • 4 replies
  • 9 views

Hi, I have a problem running an FME task (fmw) as an FME commandline scheduled task on Windows 2008 R2 (64bit).   Background: 1. FME 32bit installed 2. Oracle Client 32 bit installed 3. Oracle client BIN folder n PATH 4. TNS_ADMIN environmental variable set to point to folder containing tnsnames.ora   The problem: I created a scheduled task that runs fme.exe with my workbench file (fmw) as command line parameter. The task is set to use the SYSTEM account to run the task (this is because we cannot use a local or domain account as out policy doesn't allow password saving).  When running the task in this configuration I get the "Oracle client libraries could not be loaded." error.  When running exactly the same task using my user account it works.   What works: 1. Running FME task via workbench. 2. Running the task via commandline (command prompt). 3. Running the scheduled task under my user account (when logged in). 4. As a sanity check I have created exactly the same setup on my Windows 7 64bit PC using 32bit FME and Oracle client with a scheduled task using the SYSTEM account and it runs without errors.    What we cannot do: 1. Running the scheduled task under a local or domain user name, since our policies does not permit us to save user passwords with scheduled tasks.  Thus we use the SYSTEM account to run the scheduled task. 2. I'm assuming I cannot use FME 64bit and Oracle 64bit client since my FME task includes porting data using the ArcSDE 32bit File Geodatabase ArcObjects reader.   Tried: 1. Making fme.exe run as administrator 2. Setting the schedule start location to the Oracle client bin folder. 3. I have already followed the instructions/suggestions from this similar FME topics such as: https://groups.google.com/forum/?fromgroups=#!topic/fmetalk/bf2z-sWPl54

 

4. Tried both Oracle 32bit client and 32bit instant client    The problem seems to be Windows 2008 related. Am I missing something?     ANY help appreciated! Sorry for the long post!    Thanks   Will

4 replies

Badge +2
Sounds extremely frustrating. Its a shame you cannot simply just use your domain account for the scheduled task.

 

 

I believe that if it works via your login but not the SYSTEM login, then the SYSTEM login doesn't have the required permissions to run the script and get access to the Oracle client.

 

 

Are you able to ensure that the SYSTEM account has full permissions to the Oracle installation directory containing the 32-bit OCI.DLL and ORA803.DLL. Or at the very least, the 32-bit Oracle client BIN folder that you've set up in the PATH environment variable.

 

 

Also, have you rebooted the machine since you changed the environment variable? It likely is not the problem if it works for your login though.

 

Thanks for the feedback. SYSTEM user has full permissions on BIN, since it's a dev server I've also tried giving 'Everyone' full access to the client BIN folder.  Still no luck.

 

 

(Server was restarted since env variable change).

 

 

 

Userlevel 4
Hi Will,

 

 

take a look at this hotfix for Windows 2008 Server to see if it is relevant to you.

 

 

I also agree with Kathy about this possibly being a problem with permissions. Have you tried giving the SYSTEM account read and write privileges on the whole disk?

 

 

David
Userlevel 4
Re-reading your original question I now see that the hotfix probably doesn't apply to you.

 

 

A couple of other things to consider:
  • Have you defined ORACLE_HOME as a system variable? Example value: D:\\Oracle\\product\\11.2.0\\client_1
  • Try to enable client side logging using SQLNET.LOG, see the doc for more information. This might give you an indication on whether the client library has problems initializing or if they're not called at all.
David

Reply