Welcome to Scriptella ETL Project
About Scriptella
Scriptella is an open source ETL (Extract-Transform-Load) and script execution tool written in Java.
Our primary focus is simplicity. You don't have to study yet another complex XML-based language - use SQL (or other scripting language suitable for the data source) to perform required transformations.
Download and use it! Scriptella is licensed under the Apache License, Version 2.0
Typical use
- Executing scripts written in SQL, JavaScript, JEXL, Velocity and many more.
- Database migration. Interoperability with LDAP, JDBC, XML and other datasources.
- Cross-database ETL operations, import/export from/to CSV, text and XML and other formats.
- Alternative for Ant <sql> 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:
<!DOCTYPE etl SYSTEM "http://scriptella.javaforge.com/dtd/etl.dtd"> <etl> <connection driver="$driver" url="$url" user="$user" password="$password"/> <script> <include href="PATH_TO_YOUR_SCRIPT.sql"/> -- And/or directly insert SQL statements here </script> </etl> - Support for multiple datasources (or multiple connections to a single database) in a ETL file.
- Support for many useful JDBC features , e.g. parameters in SQL including references to file blobs and JDBC escaping.
- Performance. Performance and low memory usage are one of our primary goals.
- Support for evaluated expressions and properties (JEXL syntax)
- Support for cross-database ETL scripts by using <dialect> elements
- Transactional execution
- 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 scripting languages. Out of the box support for JSR 223 (Scripting for the Java™ Platform) compatible languages.
- Built-In CSV, Excel, Text, XML, LDAP, Lucene, Velocity, JEXL and Janino providers. Integration with Java EE, Spring Framework, JMX , JNDI and JavaMail for enterprise ready scripts.
News
Scriptella 1.0 Released (May 5, 2010)
We are pleased to announce the availability of Scriptella 1.0. This release fixes few minor bugs found in RCs:
- Fixed: ArrayIndexOutOfBounds thrown when lazy-initialization fails for connection
- Fixed: Cannot load class when scriptella is packaged in an EAR file in JBoss
- Fixed auto-discovery driver aliases for PostgreSQL/DB2
- Fixed: Cannot write to HTTP URL
The following features are introduced:
- Added CUBRID Database driver.
- Use null_string to expand $variable when it has null value. CSV, text driver
- nostat command line option to suppress statistics collecting
Kudos to Hervé for providing Maven POM files. Work on Maven integration is in progress. See TSK-10631 for more details
See
change log for additional details.
Make ETL easier -Download Scriptella Now!
Work on 1.1 has started, see Roadmap for 1.1





