2016-09-15 1 views
0

J'ai ici un problème de curiosité avec DBUnit. Je veux essayer d'insérer une nouvelle entrée de table via un DataSet XML:DBUnit: «org.dbunit.DatabaseUnitException: nom de table de traitement des exceptions» après l'insertion DataSet

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

Mais je reçois l'exception suivante:

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) 
    ... 

Bibelots est que la nouvelle entrée a été ajoutée dans la table avec succès (si je faire un select je peux voir la nouvelle entrée ajoutée).

La question est pourquoi je reçois l'exception ...

Répondre

0

ce qu'il va s'est le suivant:

Pour la table "MyTable" a été défini également une routine de déclenchement. Le déclencheur a également été fini sans aucun problème. Mais le déclencheur appelle une procédure stockée. Et cette procédure stockée exécute un SELECT et renvoie le résultat en tant que ResultSet. Et ceci renvoyé ResultSet est le problème. On dirait que DBUnit a des problèmes si un Insert Trigger retourne un ResultSet ...

Après avoir enlevé le select/ResultSet tout fonctionne comme prévu ... :-)