2016-09-15 844 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后,所有运行按预期运行...... :-)