我正在尝试使用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
用作“原因”异常(或只是让原始的异常传播到整个堆栈中)-但您应该能够看到有关的更多详细信息标准输出。查看这些信息,您应该能够看到导致异常的原因并进行修复。