DbUnit FAQ

Official DbUnit FAQ from DbUnit website

You can report errors, add precisions or discuss the official FAQ here.
You have an idea for a good FAQ and know the answer? Add it here!

See DbUnitSupport if you have a question but don't know the answer!

See also:
BuildingDbUnit | SupportedRDBMS | PendingDbUnitFaq

How to get DBUnit to see aliases

see HowToGetDbUnitToSeeAliases

Why am I (still) getting an "AmbiguousTableNameException"?

The official FAQ entry Why am I getting an "AmbiguousTableNameException"? is incomplete.

One reason for this Exception is that a table name appears in two or more schemas, and DBUnit is picking up both, as described in the FAQ.

Another reason is that your database contains two tables whose names only differ by case, e.g. "userlist" and "UserList". DBUnit handles table names case-insensitively and gets confused. This can happen on database systems that are case-sensitive for identifiers, e.g. MySQL and (possibly) Microsoft SQL Server.

This problem can only be solved by removing or renaming one of the offending tables. DBUnit handles table names case-insensitively and cannot handle tables whose names only differ by case.

In oracle org.dbunit.database.AmbiguousTableNameException's with a name like: "BIN$dxY9ceCqrHvgQAB/AQFppg==$0" are coming from unpurged drop table. So whenever you do a drop table (before starting your unit test) make sure to append purge after it. (Only after oracle 10 and +).

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License