Hi, And you are able to recognize you have received all data? (My Teradata knowledge is limited, sorry.) One solution is to create a customized version of ExecuteSQL. And either close connection (return to pool) or send signal to Teradata. This is not that hard.
You can also try to set QUERY_TIMEOUT for standard ExecuteSQL, does Teradata JDBC support this? BR Toivo Kontakt <[email protected]> kirjutas kuupƤeval R, 18. detsember 2020 kell 20:24: > Dear all > > In the ExecuteSQL processor, I'm facing the following problem: > > I want to execute a stored procedure in a Teradata database. This stored > procedure returns LOB data. Since I receive LOB data, I have LOB_SUPPORT > on in > the JDBC driver (it's the default anyway). Since LOB data is not stored > inline > in the database, Teradata expects a signal from the receiver that all data > has > been received (in Teradata lingo that means KeepResp is on). > > The problem now is, that NiFi does not send this signal. It keeps the > connection > open. After NiFi has 16 connections to Teradata open, Teradata refuses to > open > another connection and the following error is thrown: > > [Teradata Database] : Response limit exceeded. > > There's even a nice explanation about this error here [1]. > > I have set the maximum number of connections to 8, as is the default in the > controller. But that does not seem to prevent my issue. If I set a max > timer for > the connections, it works, but of course I do not know how long I would > need to > keep the connections open. > > My question now is: How can I tell NiFi to close the connection to the > Teradata > database, once it has received all data? > > I appreciate all the help. Thanks, > Phil > > [1] > https://teradata-docs.s3.amazonaws.com/doc/connectivity/jdbc/reference/current/jdbcug_chapter_5.html#CHDGCHBB > > > ---------- > This message was sent from a MailNull anti-spam account. You can get > your free account and take control over your email by visiting the > following URL. > > http://mailnull.com/ >
