Database 使用DdlUtils将大型mySQL数据库迁移到derby

Database 使用DdlUtils将大型mySQL数据库迁移到derby,database,ddlutils,Database,Ddlutils,我想使用DdlUtils将MySQL数据库迁移到Derby DB。为此,我定义了以下ant脚本: <?xml version="1.0"?> <project name="MigrateToDerby" basedir="."> <path id="classpath"> <fileset dir="./lib"> <include name="**/*.jar"/> </fileset> </path> &

我想使用DdlUtils将MySQL数据库迁移到Derby DB。为此,我定义了以下ant脚本:

<?xml version="1.0"?>
<project name="MigrateToDerby" basedir=".">
<path id="classpath">
<fileset dir="./lib">
  <include name="**/*.jar"/>
</fileset>
</path>
<target name="export-source-db" description="Dumps db structure and data">
<taskdef name="databaseToDdl" classname="org.apache.ddlutils.task.DatabaseToDdlTask">
  <classpath refid="classpath"/>
</taskdef>
<databaseToDdl modelName="MigrateTest">
  <database url="jdbc:mysql://localhost/database" driverClassName="com.mysql.jdbc.Driver" username="a" password="b"/>
  <writeSchemaToFile outputFile="db-schema.xml"/>
  <writeDataToFile outputFile="data.xml"/>
</databaseToDdl>
</target>
</project>

该脚本对于较小的数据库运行良好,但由于java.lang.OutOfMemoryError失败:对于具有数百万元组的数据库,java堆空间不足。甚至当我使用

导出ANT_OPTS=-Xmx29g

不幸的是,我不能进一步增加记忆。是否有其他方法迁移数据库?我不知道为什么DdlUtils需要这么多内存,因为每个元组都很小