2010-10-15 117 views
5

DBUnit的数据集出口我试图通过一组primery键的数据集从Oracle数据库导出使用:通过一系列的主键

TablesDependencyHelper.getDataset(connection, fullTableName , 
        new TreeSet(Arrays.asList(
         new BigDecimal[]{new BigDecimal(1)}))); 

抛出我45MB的数据文件!!!,检查文件我意识到问题是对带有组合键(6个外键)的表的引用,而不是导出唯一引用的注册表,它将整个表数据。 ¿我认为这是DBUnit的一个bug,任何人都知道这个问题的解决方案?

+0

您是否期望只导出对表的引用而不是整个表?你有一个依赖于该表的外键吗? – blueberryfields 2010-12-13 05:58:25

回答

7

在过去,我已经成功地使用Jailer(http://jailer.sourceforge.net/)来提取与DBUnit兼容的数据集。 Jailer有一个GUI,允许您选择要导出的表格,更重要的是,可以从最终的数据集特定表格中排除。 Jailer可以导出XML兼容DBUnit格式的数据集。 Jailer的缺点是最初解析你的数据库的结构所需的时间 - 但只有当你有一个大的,复杂的数据库时)。