首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DBUnit DatabaseUnitRuntimeException

DBUnit DatabaseUnitRuntimeException
EN

Stack Overflow用户
提问于 2015-02-13 15:48:08
回答 1查看 430关注 0票数 3

为完整数据集导出创建测试。我使用的是Oracle 11g数据库,在测试运行后,我看到以下内容:

org.dbunit.DatabaseUnitRuntimeException: At least one column is required to build a valid select statement. Cannot load data for table=APEX_040000.SYS_IOT_OVER_16977, cols=[], pk=[]

在数据库中,这个表是空的,我不能删除它。如何从db导出所有数据集?

EN

回答 1

Stack Overflow用户

发布于 2016-11-24 15:57:17

以下是不同类型的导出:

代码语言:javascript
复制
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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28494784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档