我使用jdbc
将原始数据集加载到Teradata。直到最近,我一直在工作完美。
这是代码
try {
prst.executeBatch();
}
catch (SQLException ex) {
System.out.println("Batch outside the loop error: ");
while (ex != null)
{
System.out.println(" Error code: " + ex.getErrorCode());
System.out.println(" SQL State: " + ex.getSQLState());
System.out.println(" Message: " + ex.getMessage());
ex.printStackTrace();
System.out.println();
ex = ex.getNextException();
}
}
但昨天同样的代码statred抛出一个错误。这是错误
[Teradata JDBC Driver] [TeraJDBC 13.00.00.16] [Error 1339] [SQLState HY000]
A failure occurred while executing a PreparedStatement batch request.
The parameter set was not executed and should be resubmitted
individually using the PreparedStatement executeUpdate method
我使用getNextException()
进行了检查,但我得到的是相同的消息
A failure occurred while executing a PreparedStatement batch request.
The parameter set was not executed and should be resubmitted
individually using the PreparedStatement executeUpdate method
重复相同的东西,没有任何进一步的细节。我尝试将批量大小减少到最小值[{3}},但仍然没有结果。
可能导致此错误的原因是什么?如何克服它?
答案 0 :(得分:1)
最近有同样的问题:
在我的情况下,它是一个单个数值,其精度高于插入的列,但通常该错误消息隐藏了您遇到的任何问题(字段太大?没有更多的磁盘空间? )