Skip to main content

Hi There,

I have recently upgraded to FME 2018 and am having some issues connecting to an Oracle database. I am running Windows 10 and have tried both FME 2018.1 (Beta) and FME 2018.0 and not any luck.

I have recently acquired a new machine so I have had to set up everything from scratch. These are the steps I have completed:

  • Downloaded and installed Oracle Instant Client 12.2.
    • Unzipped and extracted to C:\\oracle\\instant_client_12_2
    • Added folder as above to system PATH environment variable
  • Set up tnsnames.ora file (this isn't essential, but I tried since I had no luck using the service name or easy connect string):
    • Added tnsnames.ora to same folder as above
    • Added TNS_ADMIN system environment variable, set to the same folder
  • Tested my connection via:
    • ping - ping hostname
    • McTnsping - ping tns connection and easy connection string
    • Oracle SQL developer - tested connecting via basic connection and tns
    • Toad - tested basic connection and tns

In all cases everything looked good and appeared to work. However for some reason I could not connect via any 2018 version of FME. The error I would receive was "Unable to connect to Oracle database, because the database environment could not be initialized...".

Because I was so confident in my steps, I rolled back to an older version of FME (2017.1) which I remember having no trouble with. As expected, everything was working fine in FME 2017.1.

I am curious to understand whether this is a bug, or if any of the necessary setup steps have changed for FME 2018.

I should also point out that I am required to be on a corporate proxy at all times, and must be on a VPN to connect to the particular database I am after. As mentioned, everything is working perfectly in FME 2017.1.

Cheers

If you're using 32-bit FME, make sure you've installed the 32-bit version of the Oracle client, and vice versa.


Are both FME 2018 and the Oracle client the same bits (32 or 64)?

That can cause the connection issue.


Hi @jacknkandy

I'm sure it's not an bug. Because I can connect with the Beta en 2018.0.

In my case I use an full 32 client (corporate) and instant 64bit.

I'm using an FME2018 64 to run with my instant 64bit client I set 2 variables.

ORACLE_HOME and PATH to FME 2018. And this setup works for me.

When I start FME2018 without these settings (thus Oracle 32 client) When I add an Oracle connection I get this warning.

Oracle client libraries (e.g. oci.dll) could not be loaded. Ensure that the 64-bit client is installed and properly configured,

Check if you get similar warnings.

Please post when it's fixed maybe you're fix helps another user.

Good luck.


Hey sorry I forgot to mention, yes both my FME versions (2018.0 and 2018.1) and Oracle Instant client are 32-bit. I’m sure my Instant Client is set up correctly as it works for FME 2017.1 (also 32bit) but also the Oracle readers/writers don’t show in the list unless the client is properly installed.


Hey sorry I forgot to mention, yes both my FME versions (2018.0 and 2018.1) and Oracle Instant client are 32-bit. I’m sure my Instant Client is set up correctly as it works for FME 2017.1 (also 32bit) but also the Oracle readers/writers don’t show in the list unless the client is properly installed.

@tibor @erik_jan @david_r Thanks for you responses, please see above. I have also got some screenshots to show that my versions are correct. As you can see below I only have 32 bit versions of FME Installed. The Instant Client is also 32-bit. The only error I receive is the one that I quoted before which is also shown as a screenshot shown below. No errors relating to the Instant Client are received. In fact if I don't have the right client installed (or if its not installed at all), none of my Oracle readers or writers will show in the list in FME 2018.

 

 

I haven't had the chance to test if this is potentially a Windows 10 issue specifically, as I only have a trial license at the moment, so I am forced to run FME on one machine (started a new job, need to convince them to purchase an FME license for me).

 

 


Hi @jacknkandy,

 

 

I want to confirm... When you uninstalled 2018.0 and reinstalled 2017.1, that this was working as before the upgrade to 2018.0/1?

 

If so, can you again install 2018.0 again (into a new folder, separate folder), leaving 2017.1 in place. If all software is 32bit and 2018.0 configuration still doesn't work but 2017.1 does... I'd like to get on a call with you to investigate.

 

 

Steve.

 


Hi @jacknkandy,

 

 

I want to confirm... When you uninstalled 2018.0 and reinstalled 2017.1, that this was working as before the upgrade to 2018.0/1?

 

If so, can you again install 2018.0 again (into a new folder, separate folder), leaving 2017.1 in place. If all software is 32bit and 2018.0 configuration still doesn't work but 2017.1 does... I'd like to get on a call with you to investigate.

 

 

Steve.

 

Hi Steve,

 

 

Thanks for your reply. Sorry if I wasn't clear in my explanation. I first had 2018.1 installed. I then installed 2018.0 in a different folder (I did not remove the existing version of 2018.1). After 2018.0 didn't work I installed 2017.1 again in a different folder. So I currently have all 3 versions installed in different folders:

 

FME 2018.1: "C:\\apps\\FME\\"

 

FME 2018.0: "C\\apps\\FME 2018.0.0.3"

 

FME 2017.1: "C:\\apps\\FME 2017.1.2.1"

 

 

I have had multiple versions of FME installed (2015 to 2017) in the past (different machine) and didn't have any issues with the Oracle databases. I thought of trying 2017.1 because that was the last version of FME that I remember having no problems with.

 

 

Cheers,

 

Jamie.

 

 


@tibor @erik_jan @david_r Thanks for you responses, please see above. I have also got some screenshots to show that my versions are correct. As you can see below I only have 32 bit versions of FME Installed. The Instant Client is also 32-bit. The only error I receive is the one that I quoted before which is also shown as a screenshot shown below. No errors relating to the Instant Client are received. In fact if I don't have the right client installed (or if its not installed at all), none of my Oracle readers or writers will show in the list in FME 2018.

 

 

I haven't had the chance to test if this is potentially a Windows 10 issue specifically, as I only have a trial license at the moment, so I am forced to run FME on one machine (started a new job, need to convince them to purchase an FME license for me).

 

 

@jacknkandy,

 

 

Thanks for this.

 

What is the version of the Oracle database are you connecting to? Oracle Database 12.2 I presume?

 


Hi @jacknkandy

I'm sure it's not an bug. Because I can connect with the Beta en 2018.0.

In my case I use an full 32 client (corporate) and instant 64bit.

I'm using an FME2018 64 to run with my instant 64bit client I set 2 variables.

ORACLE_HOME and PATH to FME 2018. And this setup works for me.

When I start FME2018 without these settings (thus Oracle 32 client) When I add an Oracle connection I get this warning.

Oracle client libraries (e.g. oci.dll) could not be loaded. Ensure that the 64-bit client is installed and properly configured,

Check if you get similar warnings.

Please post when it's fixed maybe you're fix helps another user.

Good luck.

@tibor,

 

RE: 64bit - FME requires the path to the Instant Oracle Client software be in the PATH environment variable. If you are wanting to use the TNS Names (aliases) then you can add the TNS_ADMIN environment variable to your system and point it to the folder containing the tnsnames.ora file (which can be inside your existing Full Oracle Client folder - so you only have to manage one occurrence of this file).

 

For more information click here: How to setup an oracle instant client for use with FME.

 


@jacknkandy,

 

 

Thanks for this.

 

What is the version of the Oracle database are you connecting to? Oracle Database 12.2 I presume?

 

Hey @SteveAtSafe

 

 

I have just checked and the database I am trying to connect to is 11g (11.2 - 64bit). My understanding is that the Instant Client is compatible with older versions of Oracle Databases (http://www.oracle.com/technetwork/database/ic-faq-094177.html#A5348) so the 12.2 Instant Client should work with 11.2 databases.

 

 

Just to cover all bases, I have just tried with the 32 bit Instant Client version 11.2 and it gives me the exact same error.

 

 

However I didn't realise that the Oracle database was 64-bit (however again I don't think this matters to the instant client - since I was able to connect via Toad using the 32 bit instant client as well as using FME 2017.1 32-bit).

 

 

Again, just to cover all bases, I have just tried installing the 64bit version of FME 2018.1 (beta) and the 64 bit Instant Client. And guess what... it works!

 

 

I'm not really an Oracle expert, but my feeling is that a 32 bit client should still be able to connect to a 64 bit server. In fact I feel like this must be true since this was the case for FME 2017.1 (32bit). Not sure whats going on!

 

 

Edit: I guess I should add that I am happy to use 64bit FME with 64bit Instant Client for the time being, but in the past I was forced to work with a 32 bit version of FME as I worked heavily with ArcSDE which requires a 32 bit Instant Client (https://support.esri.com/en/technical-article/000010417). In the near future I will again be working with ArcSDE, so most likely will need to go back to using the 32bit FME with the 32bit Instant Client, so I would like to resolve this issue so I can use the latest version of FME.

 


@jacknkandy,

 

 

Thanks for this.

 

What is the version of the Oracle database are you connecting to? Oracle Database 12.2 I presume?

 

Hi @SteveAtSafe

 

 

I am curious to find out whether this issue has been further investigated. As mentioned in my last comment, we are now in a state where we need to access data via ArcSDE. Our organization only has license for ArcMap 10.x which only comes as 32 bit software package. For that reason, we are forced to use the 32-bit Oracle Instant Client, which also means that we are also forced to use the 32-bit version of FME.

 

 

However by using the 32-bit version of FME with the 32-bit Oracle Instant Client, we are no longer able to access our Oracle databases due to the issue reported in this thread. Since we are required to build transformations that read data from both the SDE and the Oracle database at the same time, it is not practical for us to swap between 32 and 64 bit versions of FME as well as the different versions of the Instant Client. It would be great if this issue could be further investigated and resolved.

 

 

I honestly do believe that this is a bug with FME 2018.x. As I mentioned above, we did not have this problem with FME 2017.1 or any older versions (I have used the 32bit version of FME since 2015) and it has been recently tested and proved to work.

 

 

Thanks Kindly,

 

Jamie.

 


@tibor @erik_jan @david_r Thanks for you responses, please see above. I have also got some screenshots to show that my versions are correct. As you can see below I only have 32 bit versions of FME Installed. The Instant Client is also 32-bit. The only error I receive is the one that I quoted before which is also shown as a screenshot shown below. No errors relating to the Instant Client are received. In fact if I don't have the right client installed (or if its not installed at all), none of my Oracle readers or writers will show in the list in FME 2018.

 

 

I haven't had the chance to test if this is potentially a Windows 10 issue specifically, as I only have a trial license at the moment, so I am forced to run FME on one machine (started a new job, need to convince them to purchase an FME license for me).

 

 

To use 64 bit (FME, Oracle, and ArcGIS), you need to install ArcGIS 64-bit background processing and 64-bit FME and Oracle Client.
To use 64 bit (FME, Oracle, and ArcGIS), you need to install ArcGIS 64-bit background processing and 64-bit FME and Oracle Client.
Hey, Thanks for this suggestion. I will give it a go. Still strange that I can't get this working in FME 32-bit.

 


To use 64 bit (FME, Oracle, and ArcGIS), you need to install ArcGIS 64-bit background processing and 64-bit FME and Oracle Client.
Hey @runneals,

 

 

Thanks for your suggestion - finally got myself a copy of the ArcGIS 64-bit background processor and can confirm that we can now use the 64-bit version of FME (with 64-bit Instant Client) to connect to our ArcSDE.

 

 

Cheers

 


Hi

We are running FME 2017.1.2 and FME 2018.1 on the same machine and have Oracle Client 32-bit and 64-bit installed.

We use symbolic link to tnsnames.ora, so no need for TNS_ADMIN setting

If you have 32 and 64 client installed - ORACLE_HOME system should be removed

For Example if Client_1 (32-bit Oracle) is in:
cd C:\\Oracle\\11.2.0\\client_1\\network\\admin
mklink tnsnames.ora c:\\oracle\\tnsnames.ora

For Example Client_1 (64-bit Oracle) is in:
cd C:\\Oracle\\11.2.0\\client_1\\network\\admin
mklink tnsnames.ora c:\\oracle\\tnsnames.ora


Reply