Java 将一个JDBCDataSource的所有内容复制到另一个JDBCDataSource

Java 将一个JDBCDataSource的所有内容复制到另一个JDBCDataSource,java,jdbc,dbunit,Java,Jdbc,Dbunit,出于测试的原因,我需要拍摄一个给定数据库的快照,我只能通过JDBC访问该数据库(我没有命令行/管理访问权限) 我需要将它的所有内容复制到另一个数据源中,通常是一个由文件支持的H2SQLDB,这样我就可以运行独立的测试,而不依赖于原始数据源 克隆JDBC数据库的最佳方法是什么?除了使用DBUnit export-utils将第一个数据库导出为XML,然后导入第二个数据库之外,我没有找到任何其他数据库。LiquiBase()可能有些过分,但它可以完成这项工作。类似这样的测试价值有限,您所做的只是确认

出于测试的原因,我需要拍摄一个给定数据库的快照,我只能通过JDBC访问该数据库(我没有命令行/管理访问权限)

我需要将它的所有内容复制到另一个数据源中,通常是一个由文件支持的H2SQLDB,这样我就可以运行独立的测试,而不依赖于原始数据源


克隆JDBC数据库的最佳方法是什么?除了使用DBUnit export-utils将第一个数据库导出为XML,然后导入第二个数据库之外,我没有找到任何其他数据库。

LiquiBase()可能有些过分,但它可以完成这项工作。类似这样的测试价值有限,您所做的只是确认您的代码可以针对HSQLDB工作,但这并不一定意味着它可以与目标数据库一起工作。就我个人而言,我会将此类测试保存到验收/集成测试阶段,在该阶段,我会使用“真实”数据库构建,这与在发布时构建生产数据库的原因相同。我同意你的观点,并且为此我有不同的测试层。这里的重点是再次测试“内容”,而不是数据库。它只是一种将我的域对象存储在某处的方法