java - DBUnit DatabaseUnitRuntimeException

标签 java oracle dbunit

为完整数据集导出创建测试。我正在使用 Oracle 11g 数据库,在测试运行后我看到了这个:
org.dbunit.DatabaseUnitRuntimeException:至少需要一列来构建有效的选择语句。无法为表加载数据=APEX_040000.SYS_IOT_OVER_16977,cols=[],pk=[]
在数据库中,这个表是空的,我不能删除它。如何从数据库导出所有数据集?

最佳答案

这些是不同类型的导出:

public class DatabaseExportSample{
  public static void main(String[] args) throws Exception{

    // database connection
    Class driverClass = Class.forName("org.hsqldb.jdbcDriver");
    Connection jdbcConnection = DriverManager.getConnection(
            "jdbc:hsqldb:sample", "sa", "");
    IDatabaseConnection connection = new DatabaseConnection(jdbcConnection);

    // partial database export
    QueryDataSet partialDataSet = new QueryDataSet(connection);
    partialDataSet.addTable("FOO", "SELECT * FROM TABLE WHERE COL='VALUE'");
    partialDataSet.addTable("BAR");
    FlatXmlDataSet.write(partialDataSet, new FileOutputStream("partial.xml"));

    // full database export
    IDataSet fullDataSet = connection.createDataSet();
    FlatXmlDataSet.write(fullDataSet, new FileOutputStream("full.xml"));

    // dependent tables database export: export table X and all tables that
    // have a PK which is a FK on X, in the right order for insertion
    String[] depTableNames = 
      TablesDependencyHelper.getAllDependentTables( connection, "X" );
    IDataSet depDataset = connection.createDataSet( depTableNames );
    FlatXmlDataSet.write(depDataSet, new FileOutputStream("dependents.xml"));          

  }
}

访问:http://dbunit.sourceforge.net/faq.html

关于java - DBUnit DatabaseUnitRuntimeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28494784/

相关文章:

java - 正则表达式 - 字符串匹配错误输出

Oracle:索引中的列顺序重要吗?

java - Oracle + dbunit 获取 AmbiguousTableNameException

java - Spring Test DBUnit 和表架构名称

java - DBUnit,运行插入选择语句

java - Richfaces主题问题和数据表样式类问题

java - viewPager 不显示 fragment

java - WebDriver + TestNG Gmail 一个奇怪的错误

java - 如何确定给定 JDBC 连接的数据库类型?

java - 在oracle adf中查看对象