What is JDatabaseImport?

Its a simple tool created to import data between different databases.

How does it work?

You can work with it in two ways, either using a configuration file or accessing its api using Java.

Example

The following code show an example of a file called *export.xml*:

<export>
  <from>
    <driver>org.hsqldb.jdbcDriver</driver>
    <url>jdbc:hsqldb:hsql://localhost/source</url>
    <username>sa</username>
    <password>mysapass</password>
  </from>
  <to>
    <driver>com.mysql.jdbc.Driver</driver>
    <url>jdbc:mysql://localhost/target</url>
    <username>root</username>
    <password>myrootpass</password>
  </to>
    <table name="firstTable"/>
    <table name="secondTable">
      <ignore>fieldToBeIgnored</ignore>
    </table>
    <table name="thirdTable"/>
</export>

Note that JDatabaseImport *will not* generate the target tables, but only import data from one source into the other.

In order to run JDatabaseImport, you need to put all drivers in the classpath and run it. The following code is an example on how to use it to import from mysql to hsqldb

java -cp mysql-connector-3.1.1.jar:hsqldb.jar:jdatabaseimport.jar br.com.caelum.jdatabaseimport.Main export.xml

Questions and improvement

Something is not done yet in JDatabaseImport and you need it? Let us know at the user list.