2016-09-15 21 views
0

我在這裏有一個DBUnit的古怪問題。我想嘗試插入通過數據集XML的新表項:DBUnit:「org.dbunit.DatabaseUnitException:異常處理表名稱」DataSet插入後

<?xml version='1.0' encoding='UTF-8'?> 
<dataset> 
    <MyTable ID="1" OtherID="34588" Count="15" Value="20.0" /> 
</dataset> 

,但我得到以下異常:

org.dbunit.DatabaseUnitException: Exception processing table name='MyTable' 
at org.dbunit.operation.AbstractBatchOperation.execute(AbstractBatchOperation.java:216) 
at org.dbunit.ext.mssql.InsertIdentityOperation.execute(InsertIdentityOperation.java:217) 
at org.dbunit.operation.CompositeOperation.execute(CompositeOperation.java:79) 
at org.dbunit.AbstractDatabaseTester.executeOperation(AbstractDatabaseTester.java:190) 
at org.dbunit.AbstractDatabaseTester.onSetup(AbstractDatabaseTester.java:103) 
at org.dbunit.DatabaseTestCase.setUp(DatabaseTestCase.java:156) 
    ... 

古玩的是,新的條目在表中添加的成功(如果我做一個選擇我可以看到新添加的條目)。

的問題是,爲什麼我得到的異常...

回答

0

什麼發生的是以下幾點:

對於表「MyTable的」中還定義了一個觸發程序。觸發器也完成沒有任何問題。但觸發器正在調用一個存儲過程。此存儲過程執行SELECT並將結果作爲ResultSet返回。並且這個返回的ResultSet是問題。似乎DBUnit在插入觸發器返回結果集時出現問題...

刪除select/ResultSet後,所有運行按預期運行...... :-)