我正在尝试使用following Fastload API

连接...等是完美的。

我确切知道失败的地方

 ...........
 System.out.println(" Streaming " + dataFile);
 pstmtFld.setAsciiStream(1, dataStream, -1); // This line fails
 System.out.println("check the above line"); // This does not go to console
 ...........

异常(exception)是
Exception in thread "main" java.lang.IllegalStateException: Sample failed.[ODBC Teradata Driver] Invalid precision: cbColDef value out of range
这是我要上传的表格。这是一种.csv格式,当我通过记事本打开它时,它看起来像这样
1,9,Win
2,9,Winc
3,9,Wi

为什么会出现此异常?我该如何改善?据我了解,问题是pstmtFld.setAsciiStream(1, dataStream, -1);不接受数据集并引发异常

最佳答案

通常, IllegalStateException 用于指示“方法已在非法或不适当的时间被调用”。但是,这看起来并不特别典型。

您链接到的代码表明可以在第259行的代码中引发该代码-但仅在将SQLException转储到标准输出之后才可以。

我们不能仅仅从该异常中分辨出什么地方出了错-更好的代码将原始的SQLException用作“原因”异常(或只是让原始的异常传播到整个堆栈中)-但您应该能够看到有关的更多详细信息标准输出。查看这些信息,您应该能够看到导致异常的原因并进行修复。

10-08 19:01