有没有办法找到导致“java.sql.DataTruncation”异常的列名? 事实上,我有一个包含152列的优秀表,因此要确定导致此错误的列并不容易。 我在异常堆栈中搜索,但不幸的是它没有显示列名。
我使用JAVA 7,Hibernate 3和MSSQL作为数据库。
提前致谢,
答案 0 :(得分:0)
请你可以做这样的事情
public static void displayError(DataTruncation dataTruncation) {
if (dataTruncation != null) {
System.out.println("Data truncation error: ");
System.out.println(dataTruncation.getDataSize() + " bytes should have been ");
if (dataTruncation.getRead()) {
System.out.println("Read (Error:) ");
} else {
System.out.println("Written (Error:) ");
}
System.out.println(dataTruncation.getTransferSize()
+ " number of bytes of data actually transferred.");
}
}
然后你可以调用它来进行调试
Statement stmt = conn.createStatement();
stmt.executeUpdate("your sql query here");
displayError(stmt.getWarnings());