我正在使用dbunit創建可以導入和導出的數據庫備份。我的應用程序可以使用多種數據庫引擎:MySQL,PostgreSQL,SQLServer,H2和Oracle。Oracle + dbunit獲取AmbiguousTableNameException
上述所有做工精細用下面的代碼:
// Connect to the database
conn =BackupManager.getInstance().getConnection();
IDatabaseConnection connection = new DatabaseConnection(conn);
InputSource xmlSource = new InputSource(new FileInputStream(new File(nameXML)));
FlatXmlProducer flatXmlProducer = new FlatXmlProducer(xmlSource);
flatXmlProducer.setColumnSensing(true);
DatabaseOperation.CLEAN_INSERT.execute(connection,new FlatXmlDataSet(flatXmlProducer));
但在Oracle我得到這個異常:
!ENTRY es.giro.girlabel.backup 1 0 2012-04-11 11:51:40.542
!MESSAGE Start import backup
org.dbunit.database.AmbiguousTableNameException: AQ$_SCHEDULES
at org.dbunit.dataset.OrderedTableNameMap.add(OrderedTableNameMap.java:198)
at org.dbunit.database.DatabaseDataSet.initialize(DatabaseDataSet.java:231)
at org.dbunit.database.DatabaseDataSet.getTableMetaData(DatabaseDataSet.java:281)
at org.dbunit.operation.DeleteAllOperation.execute(DeleteAllOperation.java:109)
at org.dbunit.operation.CompositeOperation.execute(CompositeOperation.java:79)
at es.giro.girlabel.backup.ImportBackup.createData(ImportBackup.java:39)
at es.giro.girlabel.backup.handlers.Import.execute(Import.java:45)
謝謝,我已經解決了這個問題,但它是由您提到的解決方案1。 – 2012-04-16 08:15:10
我正在使用[spring-dbunit](https://github.com/excilys/spring-dbunit),解決方案1)可以通過設置系統屬性[spring.dbunit.schema](https:// github的.com/excilys /彈簧的DbUnit /問題/ 18)。 – 2013-04-03 09:33:12