I am using the “Table Row To Variable Loop Start” node in order to make the same manipulation in several different hostnames.
I am using “Microsoft SQL Server Connector” node for connecting the datebases.
Each row of the “Table Creator” has differnt hostname and the loop go through the hostnames and it works perfectly.
My issue start while one of the hostnames is down and the “Microsoft SQL Server Connector” execute falied(Login timed out).
This case actually stop all the workflow.
I am running the workflow by batch application with shell script,but the same issue come from the knime platform too.
I tried deal it with the “Try” & “Catch” nodes, but the “Microsoft SQL Server Connector” node not suitable with the try catch nodes.
Can anyone help me with this issue?
Is there any way to skip the loop index if there is a falied node during the index running?
Is there any option to defined a default hostname for the Microsoft SQL Server Connector" node in case of connection falied?
Try & Catch for “Microsoft SQL Server Connector”?![Knime_loop_err|574x500]
Example workflow is attached.
welcome to KNIME Community!
if I got you right you are getting error during node execution so Try/Catch sequence should work just fine. I have just tried it out and works as expected. See my design below. (Which can be customized to your needs of course.)
Thank you very much Ivan. @ipazin
I based on your information and example, made some changes(adjust for loop situations) and now my workflow works as expected.
I found out that The “Loop End Node” input should be the same all over the loop indexes.
In my case, the “Loop End Node” input is the “Input Data with Update Status” of the “DB Update” Node that is the last Node before the “Loop End” Node.
Therefore, “The Catch Error(Var Ports)” output was not suitable with the situation. So, I tried use “The Catch Error(Data Ports)” that output a data, not variable.
I created a table with columns count,names and types (one defaults values row) - same as the “Input Data with Update Status” output table. The new table is connected to the falied input port of the catch node and everything works perfectly.
If the new table is not configured the same as exist in the “Loop End” data results - that will casue errors like :
“Execute failed: Input table’s structure differs from reference (first iteration) table: different column counts 6 vs. 5” and other cases.
glad you found a solution.
Note1: Flow variables are transferred to downstream nodes regardless of connection type meaning you don’t need flow variable (red) connection if you have data connection between two nodes.
Note2: There is configuration option in Loop End node to allow differing table structure.
Thanks for the information.
This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.