Question

Can not add a database connection


Badge +4

I have a workbench that has an non-spatial oracle connection. It runs fine on my laptop A. But it does not run on another machine B (a server) as it complains about the TNS connection. So on machine B, I deleted the database connection (FMEOption -> Database Connection) , and tried to recreate it. But the connection test gave me this error:

Error: COM.safe.fmeserver.api.FMEServerException: User encryption is specified but can't find key to decrypt.

In fact, I can't open any of the other existing connections on Machine B in the FMEOption -> Database Connections. It gives me this error:

Unable to retrieve connection "xxx", please check the log file for more detail.

We had a similar issue with this Machine B a few months ago, which we fixed by reinstalling FME. But this time, reinstalling FME does not fix the issue. We are at FME Desktop 2017.1.0.

Allen


3 replies

Userlevel 2
Badge +16

I know two potential issues:

Is the Oracle client installed on machine B?

If yes, Is the Oracle client the same #bits (32 vs 64) as the FME install?

Both options could result in this failure.

Badge +4

I know two potential issues:

Is the Oracle client installed on machine B?

If yes, Is the Oracle client the same #bits (32 vs 64) as the FME install?

Both options could result in this failure.

We have had 32bit Oracle installed for a long time on Machine B, and both 32 bit and 64 bit FME desktop installed. I am running the FME under both 32bit Oracle and FME. Below shows the more complete error. One strange thing is the reader connection. The serverName should be "phousde", not the database connection name "phousde_sdeadmin".

 

 

Using Oracle Reader to read tables from database `', server type `ORACLE8i', server name `phousde_sdeadmin', user name `', password `***'

 

 

If run on machine A, which is correct, it is: Using Oracle Reader to read tables from database `', server type `ORACLE8i', server name `phousde', user name `SDEADMIN', password `***'

 

 

So on Machine B, it just does not read the database connection correct.

 

 

------------------- log message on Machine B ------------------------------------------

 

Command-line to run this workspace:

 

 

C:\\apps\\FME32bit\\fme.exe W:\\gis_data_admin\\Admin\\Scripts\\SDE_USAGE\\gather_long_run_sqls.fmw

 

--SourceDataset_ORACLE_NONSPATIAL_2 "phousde_sdeadmin"

 

--DB "phousde"

 

 

Starting translation...

 

FME 2017.1.0.0 (20170731 - Build 17539 - WIN32)

 

FME_HOME is 'C:\\apps\\FME32bit\\'

 

FME Database Edition (floating)

 

Permanent License.

 

Machine host name is: phoupgisapw109

 

START - ProcessID: 4364, peak process memory usage: 32444 kB, current process memory usage: 32444 kB

 

 

.....................................................

 

at COM.safe.fmewebservices.FMENamedConnection.getKeyValues(FMENamedConnection.java:233) Caused by: COM.safe.fmewebservices.FMEWebServiceException: COM.safe.fmeserver.api.FMEServerException: User encryption is specified but can't find key to decrypt.

 

at COM.safe.fmewebservices.FMENamedConnectionUtils.AESdecryptData(FMENamedConnectionUtils.java:109)

 

at COM.safe.fmewebservices.FMENamedConnection.getKeyValues(FMENamedConnection.java:224)

 

Caused by: COM.safe.fmeserver.api.FMEServerException: COM.safe.fmeserver.api.FMEServerException: User encryption is specified but can't find key to decrypt.

 

at COM.safe.fmeserver.encryption.FMEEncryptionUtils.AESdecryptData(FMEEncryptionUtils.java:192)

 

at COM.safe.fmeserver.encryption.FMEEncryptionUtils.AESdecryptData(FMEEncryptionUtils.java:63)

at COM.safe.fmewebservices.FMENamedConnectionUtils.AESdecryptData(FMENamedConnectionUtils.java:105)

 

... 1 more

 

Caused by: COM.safe.fmeserver.api.FMEServerException: User encryption is specified but can't find key to decrypt.

 

at COM.safe.fmeserver.encryption.FMEEncryptionUtils.AESdecryptData(FMEEncryptionUtils.java:179)

 

... 3 more

Creating reader for format: Oracle Non-Spatial

 

ORACLE Reader: Using Oracle Reader to read tables from database `', server type `ORACLE8i', server name `phousde_sdeadmin', user name `', password `***'

 

ORACLE Reader: Using Rich geometry.

 

Loaded module 'OCI' from file 'OCI.dll'

 

Environment variable ORACLE_HOME is not set.

 

Connecting to ORACLE database `phousde_sdeadmin' with user name of `' and password of `***'

 

Error connecting to Oracle database: message was `ORA-12154: TNS:could not resolve the connect identifier specified'. (serverType=`ORACLE8i', serverName=`phousde_sdeadmin', userName=`', password=`***', dbname=`')

 

FME Session Duration: 18.9 seconds. (CPU: 0.4s user, 0.4s system)

 

END - ProcessID: 4364, peak process memory usage: 83692 kB, current process memory usage: 83252 kB

 

Error connecting to Oracle database: message was `ORA-12154: TNS:could not resolve the connect identifier specified'. (serverType=`ORACLE8i', serverName=`phousde_sdeadmin', userName=`', password=`***', dbname=`')

 

Program Terminating

 

Translation FAILED.

 

 

 

Userlevel 2
Badge +16

This is a database connection error.

Is the service in the TNSNAMES.Ora file in the Oracle client?

You can test using TNSPING <servicename> on the DOS command line.

Reply