Я хочу извлечь мою базу данных в FlatXmlDataSet. Я использую этот учебник: http://www.dbunit.org/faq.html#extractdbunit - исключение SQL
мой код выглядит:
Class driverClass = Class.forName("oracle.jdbc.driver.OracleDriver");
Connection jdbcConnection = DriverManager.getConnection(
"jdbc:oracle:thin: <my parametres>", "<user>", "<password>");
IDatabaseConnection connection = new DatabaseConnection(jdbcConnection);
// full database export
IDataSet fullDataSet = connection.createDataSet();
FlatXmlDataSet.write(fullDataSet, new FileOutputStream("full.xml"));
и у меня есть ошибка:
Exception in thread "main" org.dbunit.dataset.DataSetException:java.sql.SQLSyntaxErrorException:
ORA-00942: table or view does not exist
at org.dbunit.database.DatabaseDataSet.getTable(DatabaseDataSet.java:316)
at org.dbunit.database.DatabaseTableIterator.getTable(DatabaseTableIterator.java:89)
at org.dbunit.dataset.stream.DataSetProducerAdapter.produce(DataSetProducerAdapter.java:83)
at org.dbunit.dataset.xml.FlatXmlWriter.write(FlatXmlWriter.java:124)
at org.dbunit.dataset.xml.FlatXmlDataSet.write(FlatXmlDataSet.java:341)
at db.main(db.java:26)
Caused by: java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:951)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:513)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:195)
at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:876)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1175)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1296)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1498)
at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:406)
at org.dbunit.database.AbstractResultSetTable.<init>(AbstractResultSetTable.java:110)
at org.dbunit.database.ForwardOnlyResultSetTable.<init>(ForwardOnlyResultSetTable.java:59)
at org.dbunit.database.CachedResultSetTableFactory.createTable(CachedResultSetTableFactory.java:60)
at org.dbunit.database.DatabaseDataSet.getTable(DatabaseDataSet.java:312)
... 5 more
Я использую: -eclipse -dbunit 2.4.5 -slf4j 1,5 .8 -maven 3.04
Спасибо за любую помощь
Параметры подключения правильные. О таблицах у меня есть несколько таблиц, но я не указываю, из какой таблицы он может читать. Это может вызвать проблемы? – DivinaProportio
Попробуйте использовать частичный экспорт базы данных и добавьте таблицы один за другим, как описано [здесь] (http://dbunit.sourceforge.net/faq.html#extract). Сначала вы должны проверить [необходимые разрешения] (http://docs.oracle.com/cd/B10500_01/server.920/a96524/c24privs.htm) для имени пользователя, используемого в вашем коде, для подключения к базе данных. – aUserHimself