Java DbUnit信息架构MySQL

时间:2018-05-14 13:45:53

标签: java mysql dbunit

我将Java与MySQL数据库一起使用,当我尝试运行测试时,我得到了消息:

  

org.dbunit.dataset.DataSetException:java.sql.SQLSyntaxErrorException:未知表' my_table'在information_schema中

看起来DbUnit无法访问表格的元数据。 你有什么想法吗?

由于

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。看来DBUnit(2.6.0)的当前版本与mysql-connector-java的最新版本不兼容。我通过将mysql-connector-java的版本更改为5.*.*来解决它。

如果它不起作用。您可以尝试自己指定架构。为此,您需要创建一个IDataBaseConnection bean

@Bean("mysqlTestSource")
public IDatabaseConnection databaseConnection(DataSource dataSource) throws SQLException, DatabaseUnitException {
    return new MySqlConnection(dataSource.getConnection(), YOUR_SCHEMA_NAME);
}

然后通过将注释添加到测试类中,要求DBUnit使用此连接

@DbUnitConfiguration(databaseConnection = "mysqlTestSource")

希望有帮助。

答案 1 :(得分:0)

可能是模式混淆问题 - AmbiguousTableNameException FAQ条目应该解决它。