`
coolas
  • 浏览: 6736 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

dbunit在获取mysql数据时“No columns found”

阅读更多
    public static void extractTables(String targetDirectory,String[] tableNames)
            throws Exception {
        IDatabaseConnection connection =new DatabaseConnection( dc.getConnection(), "DB_NAME");
        connection.getConfig().setProperty(DatabaseConfig.PROPERTY_METADATA_HANDLER,new MySqlMetadataHandler());
        for (int i = 0; i < tableNames.length; i++) {
            String tableName = tableNames[i];
            IDataSet partialDataSet = connection.createDataSet
                    (new String[] { tableName });
            FlatXmlDataSet.write
                    (partialDataSet, new FileOutputStream
                            (targetDirectory + "/" + tableName + ".xml"));
        }
    }

现象:
运行会出现"No columns found"的错误。DB_NAME为库的名称,一开始认为就是schema.
原因:
调试后发现,ResultSet resultSet = databaseMetaData.getColumns(
                null, schemaName, tableName, "%"); 中,schemaName的值无关痛痒,返回的schema字段为null,在org.dbunit.database.DefaultMetadataHandler#matches中做判断时,由于schema不一致,导致返回col为空
解决办法:
将"DB_NAME"改为null即可
分享到:
评论

相关推荐

    DBUnit最佳实践之数据备份与恢复

    这些示例可能包括如何配置DBUnit,定义数据格式,以及如何在测试前后触发数据操作的代码片段。通过阅读和理解这些代码,开发者可以更好地掌握DBUnit的实际应用。 总的来说,DBUnit是数据库测试领域的一个强大工具,...

    如何使用DBUnit做数据备份恢复

    在提供的文件列表中,我们可以看到 student_mysql.sql(可能是 SQL 导出的数据库备份),以及几种不同类型的 XML 文件(student_nonflat.xml、student_exp.xml、student_flat.xml、student_pre.xml),这些都是 ...

    dbunit测试demo

    在进行数据库驱动的应用程序开发时,DBUnit 可以帮助开发者在每次测试之前清空并填充数据,然后在测试后检查数据是否符合预期,从而实现可靠的自动化测试。 标题“dbunit测试demo”表明这是一个关于如何使用 DBUnit...

    通过DBUNIT做批量对比测试

    在软件开发中,测试是保证代码质量和功能正确性的重要环节,而 DBUNIT 尤其适用于对数据库操作进行测试,特别是在进行批量数据处理时。 批量对比测试在数据库测试中扮演着关键角色,因为往往需要确保大量的数据导入...

    dbunit2.2

    3. **数据集**:在DBUnit中,数据以数据集的形式存在,可以是XML文件或CSV文件。数据集定义了测试用例的数据输入和期望的输出结果。 4. **连接数据库**:DBUnit 可以与各种关系型数据库(如MySQL、Oracle、SQL ...

    dbunit-2.4.7所有jar以及dbunit入门教程

    在使用 DBUnit 进行测试时,首先需要引入 dbunit-2.4.7.jar 和其他必要的依赖库,如 JDBC 驱动。接下来,创建一个 `IDatabaseConnection` 实例,该实例代表与数据库的连接。然后,可以使用 `DatabaseConfig` 来配置 ...

    dbunit帮助文档(HTML版)

    1. **数据导入/导出**:DBUnit可以将数据从数据库导出到XML或CSV文件,也可以将这些文件中的数据导入到数据库,这在数据迁移或备份时非常有用。 2. **数据比较**:DBUnit提供了断言机制,可以比较数据库的实际状态...

    dbunit-2.4.9 源码

    在版本 2.4.9 中,DBUnit 提供了一系列的功能,帮助开发者在进行单元测试时能够管理和操作数据库的数据状态。 DBUnit 的核心功能包括: 1. 数据初始化:在测试前,DBUnit 可以导入 CSV、XML 或 Excel 文件中的数据...

    Dbunit数据库连接下载

    Dbunit 是一个强大的Java库,专门用于数据库的测试和数据管理。它被广泛应用于软件开发过程中,特别是对于那些依赖于数据库的应用程序,因为Dbunit能够帮助开发者有效地管理和控制数据库的状态,确保测试的一致性...

    DBUNIT使用

    在使用 DbUnit 进行数据库测试时,用户需要连接到真实数据库,并拥有对数据库或者至少是其中的模式(schema)的独占访问权限,以免不同的开发人员同时运行测试时相互冲突。 DbUnit 的使用场景非常广泛,例如可以...

    dbunit入门实例

    2. **数据清理**:测试前,DbUnit 可以清空指定的表,确保每次测试都在一个干净的环境中开始。 3. **数据填充**:使用 `Dataset` 对象,DbUnit 可以将预定义的数据填充到数据库中,以模拟各种场景。 4. **断言比较...

    DBUnit 进行单元测试

    在进行单元测试时,DBUnit 允许我们将数据库的状态定义为“预期状态”(通常在测试开始前)和“目标状态”(期望在测试后达到的状态)。这使得我们可以验证数据库操作是否按预期工作,确保代码对数据库的修改是正确...

    dbunit开发文档

    2. 模式(Schema):DBUnit 允许你在数据集之前指定数据库模式,这有助于处理不同数据库之间的差异,比如列的顺序、类型等。 3. 操作(Operation):操作是指对数据库执行的具体动作,如 `INSERT`、`UPDATE`、`...

    dbunit使用必需Jar包

    在Java应用程序的测试过程中,确保数据库状态的一致性是非常重要的,DBUnit 提供了这样的功能,它允许开发者导入和导出数据库数据,以进行精确的测试。 在使用 DBUnit 时,有几个必需的 Jar 包是必不可少的,这些 ...

    dbunit使用实例

    3. **类型不匹配**: 如果遇到类型映射问题,可能需要自定义 `ColumnConfig` 并在数据集中指定。 通过深入理解和熟练使用 DBUnit,你可以更高效地管理测试数据,确保数据库相关的测试更加稳定和可靠。结合 JUnit 或...

    DBUnit导数据报表名超长和MBCS字段被截断日志

    在IT行业中,数据库管理和数据导入导出是至关重要的任务,特别是在使用DBUnit这样的工具时。DBUnit是一款用于数据库测试的Java库,它允许开发者在测试前后对比数据库状态,确保数据处理的正确性。然而,当遇到...

    DBUnit最佳实践之使用ant命令

    DBUnit 是一个 Java 开发者常用的数据库测试工具,它与JUnit等测试框架配合,能够帮助开发者在测试过程中管理和填充数据库,确保数据的一致性和准确性。本文将深入探讨如何结合Ant构建自动化测试流程,利用DBUnit...

    使用dbunit测试数据库

    在测试这个方法时,可以使用 DbUnit 来准备特定的测试数据,比如插入或更新一些学生记录,然后调用 `findBySid()` 方法,并验证其返回的结果是否符合预期。测试结束后,DbUnit 会自动清理这些测试数据,将数据库恢复...

    dbunit-2.2.3-prj.rar_DbUnit 2.2_dbunit_单元测试

    DbUnit 提供了一种方法来管理这些状态,允许开发者在测试开始前设定数据库的初始数据,执行测试后则可以验证数据库是否处于预期状态,或者在每次测试之间清理数据库,确保测试的隔离性。 DbUnit 的核心功能包括: ...

Global site tag (gtag.js) - Google Analytics