<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id: transfertool.xml,v 1.5 2005/06/29 23:15:13 fredt Exp $ -->
<appendix>
  <title>Transfer Tool</title>

  <appendixinfo>
    <authorgroup>
      <author>
        <firstname>Fred</firstname>

        <surname>Toussi</surname>

        <affiliation>
          <orgname>HSQLDB Development Group</orgname>
        </affiliation>

        <email>ft@cluedup.com</email>
      </author>
    </authorgroup>

    <edition>$Revision: 1.5 $</edition>

    <pubdate>$Date: 2005/06/29 23:15:13 $</pubdate>

    <keywordset>
      <keyword>Hsqldb</keyword>

      <keyword>Transfer</keyword>
    </keywordset>
  </appendixinfo>

  <section>
    <title>Brief Introduction</title>

    <para>Transfer Tool is a GUI program for transferring SQL schema and data
    from one JDBC source to another. Source and destination can be different
    database engines or different databases on the same server.</para>

    <para>Transfer Tool works in two different modes. Direct transfer
    maintains a connection to both source and destination and performs the
    transfer. Dump and Restore mode is invoked once to transfer the data from
    the source to a text file (Dump), then again to transfer the data from the
    text file to the destination (Restore). With Dump and Restore, it is
    possible to make any changes to database object definitions and data prior
    to restoring it to the target.</para>

    <para>Dump and Restore modes can be set via the command line with -d
    (--dump) or -r (--restore) options. Alternatively the Transfer Tool can be
    started with any of the three modes from the Database Manager's Tools
    menu.</para>

    <para>The connection dialogue allows you to save the settings for the
    connection you are about to make. You can then access the connection in
    future sessions. These settings are shared with those from the Database
    Manager tool. See the appendix on Database Manager for details of the
    connection dialogue box.</para>

    <para>In version 1.8.0 Transfer Tool is no longer part of the hsqldb.jar.
    You can build the hsqldbutil.jar using the Ant command of the same name,
    to build a jar that includes Transfer Tool and the Database
    Manager.</para>

    <para>When collecting meta-data, Transfer Tool performs SELECT * FROM
    &lt;table&gt; queries on all the tables in the source database. This may
    take a long time with some database engines. When the source database is
    HSQLDB, this means memory should be available for the result sets returned
    from the queries. Therefore, the memory allocation of the java process in
    which Transfer Tool is executed may have to be high.</para>
  </section>
</appendix>