【问题标题】:Full Dataset Export blank dataset完整数据集导出空白数据集
【发布时间】:2014-04-14 09:52:50
【问题描述】:

我在 libreoffice Base (Debian) 中有一个数据库,我需要将表导出为 xml 文件。我创建了一段 Eclipse Java 代码,如下所示:

package NewDB;

import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import org.dbunit.database.DatabaseConnection;
import org.dbunit.database.IDatabaseConnection;
import org.dbunit.database.QueryDataSet;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.xml.FlatXmlDataSet;
import org.dbunit.dataset.DataSetException; 

public class ExtractTestDataSet {
public static void main(String[] args) throws Exception {
    // database connection
    Class driverClass = Class.forName("org.hsqldb.jdbcDriver");
    Connection jdbcConnection = DriverManager.getConnection "jdbc:hsqldb:/home/debian/Documents/database.odb", "sa", "");

    IDatabaseConnection connection = new DatabaseConnection(jdbcConnection);

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

}
}

查看 DBunit 页面和其他各种站点后,此代码应该是正确的;数据库已填充,连接有效,代码中没有警告或错误,但是当创建 xml 文件时,唯一的内容如下:

<?xml version='1.0' encoding='UTF-8'?>
<dataset/>

有人知道为什么没有导出数据集吗?

谢谢

【问题讨论】:

  • 您是否尝试过调试步入connection.createDataSet()?我无法发现您的代码有任何问题,但也许介入会突出出现问题...
  • 是的,我已经尝试过进入它,并且连接很好。我什至添加了一行来测试连接,它没有给出任何错误,还有一条 SQL 警告行,它没有给出任何警告。谢谢
  • 对不起,我明确指的是createDataSet() 方法。也许您可以打开日志记录以跟踪并将日志添加到您的问题中。看起来 DBUnit 使用 SLF4J。
  • 其实看起来那个方法做的很少,所以别费心了。不过,也许日志记录会有所帮助......
  • 此外,如果您可以在FlatDtdWriter.write(IDataSet dataSet) 中获得一个断点(我认为您将使用您的设置调用该断点),那么这就是代码的核心。特别是,以下 dataSet.getTableNames() 应该突出显示问题(因为找不到表名将给出您当前获得的输出)。或者,您可以尝试将您的表名输入createDataSet(tableNames)

标签: java xml jdbc dbunit libreoffice-base


【解决方案1】:

原来.odb 数据库连接到不同的后端,解释了空白数据集。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-30
    • 2013-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多