Question

Rejected Port Error - change in error text stored in_reader_error in FME 2021 compared to previous versions

  • 19 August 2022
  • 3 replies
  • 8 views

Userlevel 1
Badge +10

There appears to be a change in message recorded in _reader_error that gets added to data coming out of the rejected port of either the SQLExecutor or SQLCreator when connecting to an Oracle DB.

 

Previously (in 2019.2) a failed connection to the database resulted in a single error in the translation log and the following sort of text in the _reader_error attribute

Error connecting to Oracle database: message was `ORA-12514: TNS:listener does not currently know of service requested in connect descriptor'....

or

Error connecting to Oracle database: message was `ORA-01017: invalid username/password; logon denied'. 

 

or

An error occurred while accessing a table result for feature type `'; message was `Execution of statement 

In 2021.2, I now get two errors in the log. One which contains the useful information above and a second that seems to always read

Error connecting to Oracle database: message was `%5'. (serverType=`%0', serverName=`%1', userName=`%2', password=`***', dbname=`%4')

It's this second message that then appears in the _reader_error attribute which is not all that helpful!

 

Is this a known issue? Is there anyway to capture the useful information about the error in the workspace, without post processing the log file?


3 replies

Badge +8

I was able to reproduce the behavior with the latest FME Desktop 2022.1.1 and have file an internal ticket FMEENGINE-74590

Userlevel 1
Badge +10

Does anyone have any clever ideas for returning the information needed within the workspace? So far I'm looking at creating a second workspace to find the error detail in the log file

Userlevel 1
Badge +10

Does anyone have any clever ideas for returning the information needed within the workspace? So far I'm looking at creating a second workspace to find the error detail in the log file

Answering my own question, the LogMessageStreamer can be used to get all the ERROR messages from the log, and I can discard the one that contains no useful information.

Reply