Создать тест для полного экспорта набора данных. Я использую базу данных 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?DBUnit DatabaseUnitRuntimeException
3
A
ответ
1
Это разные виды экспорта:
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"));
}
}