Scriptella
Appearance
![]() | This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. (March 2025) |
![]() | |
Stable release | 1.1
/ 28 December 2012 |
---|---|
Operating system | Cross-platform |
Type | ETL, Data migration and SQL. |
License | Apache Software License |
Website | 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.[1] 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
<sql>
task. - Automated database schema upgrade.[2]
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 an ETL file.
- Support for many useful JDBC features, e.g. parameters in SQL including file blobs and JDBC escaping.
- 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 - 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, 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.
Further reading
- Biswas, Neepa; Sarkar, Anamitra; Mondal, Kartick Chandra (2019). "Empirical Analysis of Programmable ETL Tools". Computational Intelligence, Communications, and Business Analytics. Communications in Computer and Information Science. Vol. 1031. Springer. pp. 267–277. doi:10.1007/978-981-13-8581-0_22. ISBN 978-981-13-8580-3. Retrieved 31 March 2025.
- Information Resources Management Association (30 April 2010). Information Resources Management: Concepts, Methodologies, Tools and Applications. Information Science Reference. pp. 630, 642. ISBN 978-1-61520-966-8. Retrieved 31 March 2025.
External links
References
- ^ Andrew Glover (2010-09-28). "Groovy ETLs with Scriptella". Infoworld. Retrieved 2025-04-07.
- ^ "Scriptella: Typical use". 2019-10-04.