04-02-2015 10:40 AM
I want to capture any run-time errors (as events) that may occur, like the password failing, or a database connection timeout. How do I get the Event Listener node to capture these so I can report them? I'm using DataFlux Data Management Studio 2.6.
I have tried using the Event Listener node in a process job that references two data jobs. The Event Listener node is configured for All events. It outputs to an Expression node where I write any captured information to a log file. As a test of this, I cleared the db credentials for the driver that I’m using, and when I run the job within DM Studio, the DM Studio logging (in-application logging) is reporting
“__ERRORMSG = [3EST_ODBCata Target (Insert) - LINK_OD_DF.DF_BRIDGE_ANIMAL_ASSUR_NUMS_T] [HY000] [DataFlux][ODBC Oracle Wire Protocol driver]Insufficient information to connect to the data source. (0)”
So an event is definitely thrown. But my Event Listen node is not capturing this, or any, error. The node is placed within the process job, where it theoretically will catch errors/events raised from the referenced data jobs. It is not connected to any other node in the job, other than the Expression node, if this matters.
Does anyone know how I can capture all run-time errors from a process job?
04-03-2015 03:46 PM
You need to go into settings on the node that you expect to throw the error (in this case the process-level node that houses the data flow) and set the Node Errors behavior to “Only abort the flow that had the error”. This will give the event handler node a chance to process. By default, an error causes the whole job to abort, and so the event handler will not get a chance to run.
04-03-2015 05:29 PM
thanks! This is very helpful. after recording the error, if I want to abort the entire job, how do I configure that? I don't want the job to continue to the next data job.