DBUnit:"org.dbunit.DatabaseUnitException: Exception processing table name" 插入数据集后
DBUnit: "org.dbunit.DatabaseUnitException: Exception processing table name" after DataSet insert
我这里有一个关于 DBUnit 的奇怪问题。我想尝试通过数据集 XML:
插入一个新的 table 条目
<?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)
...
奇怪的是新条目已成功添加到 table 中(如果我执行 select 我可以看到新添加的条目)。
问题是为什么我得到异常...
发生的事情如下:
对于 table "MyTable" 也定义了一个触发例程。 Trigger 也顺利完成。但是触发器正在调用存储过程。此存储过程执行 SELECT 和 Returns 结果作为 ResultSet。而这个返回的 ResultSet 就是问题所在。如果 Insert Trigger returns a ResultSet ...
似乎 DBUnit 有问题
删除 select/ResultSet 后,所有运行都按预期进行...:-)
我这里有一个关于 DBUnit 的奇怪问题。我想尝试通过数据集 XML:
插入一个新的 table 条目<?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)
...
奇怪的是新条目已成功添加到 table 中(如果我执行 select 我可以看到新添加的条目)。
问题是为什么我得到异常...
发生的事情如下:
对于 table "MyTable" 也定义了一个触发例程。 Trigger 也顺利完成。但是触发器正在调用存储过程。此存储过程执行 SELECT 和 Returns 结果作为 ResultSet。而这个返回的 ResultSet 就是问题所在。如果 Insert Trigger returns a ResultSet ...
似乎 DBUnit 有问题删除 select/ResultSet 后,所有运行都按预期进行...:-)