DB Writer Underflow Exception

Hi All,

KNIME 4.2.3
Java™ SE Runtime Environment (build 1.8.0_181-b13)

The error looks like the same as mentioned here, but I could’t find the solution.

When trying to write a table to an Oracle Database, the following exception rises: Underflow Exception trying to bind 2.6700886302086417E-307

The datatable summary (manually inspection also) shows values between 0 and 999, for double precision collumns.

The workflow is a loop through many different tables and it happens in two of then.
Following is the DEBUG log.

DEBUG NOMES DE COLUNAS 0:134 Catch Errors (Data Ports) 0:137 has new state: CONFIGURED_MARKEDFOREXEC
DEBUG Loop End 0:4 Configure succeeded. (Loop End)
DEBUG DB Writer 0:127 DB Writer 0:127 doBeforePreExecution
DEBUG DB Writer 0:127 DB Writer 0:127 has new state: PREEXECUTE
DEBUG DB Writer 0:127 DB Writer 0:127 doBeforeExecution
DEBUG DB Writer 0:127 DB Writer 0:127 has new state: EXECUTING
DEBUG DB Writer 0:127 DB Writer 0:127 Start execute
DEBUG DB Writer 0:127 Acquiring connection.
DEBUG DB Writer 0:127 All the statements have already been closed.
DEBUG DB Writer 0:127 The connection has been relinquished.
DEBUG DB Writer 0:127 The managed connection has been closed.
DEBUG DB Writer 0:127 The transaction managing connection has been closed.
DEBUG DB Writer 0:127 Acquiring connection.
DEBUG DB Writer 0:127 Create SQL statement as prepareStatement: INSERT INTO “BDPL”.“TB_GPD_LOC_PER” (“GPD_CODIGO”, “LOC_CODIGO”, “PER_CODIGO”, “GPDLOCPER_PRMIN”, “GPDLOCPER_PRMAX”, “GPDLOCPER_JUSTIFICATIVAPRODLIQ”, “CASO”) VALUES (?,?,?,?,?,?,?)
DEBUG DB Writer 0:127 Closing the small-scale transaction…
DEBUG DB Writer 0:127 Enabling auto-commit mode…
DEBUG DB Writer 0:127 The small-scale transaction has been successfully closed.
DEBUG DB Writer 0:127 The small-scale transaction has been removed.
DEBUG DB Writer 0:127 All the statements have already been closed.
DEBUG DB Writer 0:127 The connection has been relinquished.
DEBUG DB Writer 0:127 The managed connection has been closed.
DEBUG DB Writer 0:127 The transaction managing connection has been closed.
DEBUG DB Writer 0:127 reset
ERROR DB Writer 0:127 Execution failed in Try-Catch block: Erro Interno: Underflow Exception trying to bind 2.6700886302086417E-307
INFO DB Writer 0:127 DB Writer 0:127 End execute (0 secs)
DEBUG DB Writer 0:127 DB Writer 0:127 doBeforePostExecution
DEBUG DB Writer 0:127 DB Writer 0:127 has new state: POSTEXECUTE
DEBUG DB Writer 0:127 DB Writer 0:127 doAfterExecute - success
DEBUG DB Writer 0:127 DB Writer 0:127 has new state: EXECUTED
DEBUG Catch Errors (Data Ports) 0:137 Configure succeeded. (Catch Errors (Data Ports))

The NUMBER format of ORCALE seems not to support these low kind of numbers

It is possible that you could convert the column to a BINARY_DOUBLE but that might be over engineered since you might explore if you really need this kind of precision in your data or such numbers.

https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions112.htm

Then it might help if you would employ a statistics node and/or a domain calculator to see wht kind of values you do have - and maybed also make sure you do not have a NaA (not a number) value which also is not supported.

3 Likes

mlauber71,

You’re right. The problem was with my data. I thought it was related to wrong number manipulation.
Thank you,

3 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.