Lightweight ETL for Java

Scriptella runs SQL and other scripts against multiple data sources from one XML file. Open source. No visual designer, application server, or proprietary runtime.

copy-customers.etl.xml

<!DOCTYPE etl SYSTEM
  "http://scriptella.org/dtd/etl.dtd">
<etl>
  <connection id="source" url="jdbc:h2:./source"/>
  <connection id="target" url="jdbc:h2:./target"/>

  <query connection-id="source">
    SELECT id, name FROM customer
    <script connection-id="target">
      INSERT INTO customer VALUES (?id, ?name)
    </script>
  </query>
</etl>

SQL for the work. XML for the wiring.

Scriptella is an open source ETL and script execution tool written in Java. Use SQL or the language that fits the data source. XML only orchestrates.

Multiple sources, one file

Work with JDBC, CSV, text, XML, LDAP, shell scripts, and other sources in the same ETL file.

Use your existing SQL

Run it directly, include files, bind query results as variables, and add expressions only where a transform needs them.

CLI, Ant, Maven, API

Transactions, batching, conditionals, and structured error handling are built in.

Typical uses

  • Cross-database migration and table copying
  • CSV, text, and XML import or export
  • Repeatable database schema initialization and upgrades
  • Parameterized execution of SQL and other scripts
  • A focused alternative to the Ant <sql> task

Getting started

Scriptella 1.4

Released August 14, 2026. Java 17 required. Obsolete HSQLDB and ODBC adapters removed.

Get the binary, source, and examples from the download page, or use the org.scriptella modules on Maven Central. Java 8 users should stay on Scriptella 1.3.

Change history · Download 1.4

Previous: Scriptella 1.3 (July 17, 2026) is the Java 8 line. Download 1.3.