Scriptella is an open source ETL (Extract-Transform-Load) and script execution tool written in Java. Its primary focus is simplicity. It doesn't require the user to learn another complex XML-based language to use it, but allows the use of SQL or another scripting language suitable for the data source to perform required transformations. Scriptella does not offer any graphical user interface.
Simple XML syntax for scripts. Add dynamics to your existing SQL scripts by creating a thin wrapper XML file:
<!DOCTYPE etl SYSTEM "http://scriptella.javaforge.com/dtd/etl.dtd"><etl><connectiondriver="$driver"url="$url"user="$user"password="$password"/><script><includehref="PATH_TO_YOUR_SCRIPT.sql"/>
-- And/or directly insert SQL statements here
Support for multiple datasources (or multiple connections to a single database) in an ETL file.
Support for many useful JDBC features, e.g. parameters in SQL including file blobs and JDBC escaping.
Performance. Performance and low memory usage are one of the primary goals.
Support for evaluated expressions and properties (JEXL syntax)
Support for cross-database ETL scripts by using <dialect> elements
Error handling via <onerror> elements
Conditional scripts/queries execution (similar to Ant if/unless attributes but more powerful)
Easy-to-Use as a standalone tool or Ant task. No deployment/installation required.
Easy-To-Run ETL files directly from Java code.
Built-in adapters for popular databases for a tight integration. Support for any database with JDBC/ODBC compliant driver.
Service Provider Interface (SPI) for interoperability with non-JDBC DataSources and integration with scripting languages. Out of the box support for JSR 223 (Scripting for the Java Platform) compatible languages.