Scriptella

Scriptella is an open source ETL (Extract-Transform-Load) and script execution tool written in Java. It 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.

Typical use

 * Database migration.
 * Database creation/update scripts.
 * Cross-database ETL operations, import/export.
 * Alternative for Ant  task.
 * Automated database schema upgrade.

Features

 * Simple XML syntax for scripts. Add dynamics to your existing SQL scripts by creating a thin wrapper XML file:
 * 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  elements
 * Transactional execution
 * Error handling via  elements
 * Conditional scripts/queries execution (similar to Ant if/unless attributes but more powerful)
 * Easy-to-Use as a standalone tool or Ant task, without deployment or installation.
 * 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.
 * Built-In CSV, TEXT, XML, LDAP, Lucene, Velocity, JEXL and Janino providers. Integration with Java EE, Spring Framework, JMX and JNDI for enterprise ready scripts.