2016-04-30 34 views
0

有什麼方法可以找到導致「java.sql.DataTruncation」異常的列名? 事實上,我有很好的表,有152列,所以確定導致此錯誤的列並不容易。 我在異常堆棧中搜索,但不幸的是它不顯示列名。在「DataTruncation」異常中查找列

我使用JAVA 7,Hibernate 3和MSSQL作爲數據庫。

由於提前,

回答

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());