Core database compatibility
September 11, 2026 · View on GitHub
Scriptella supports a broad spectrum of databases through JDBC and other providers. This page helps users configure Scriptella with common relational databases and understand their compatibility, including the preferred driver, driver class, URL, validation status, and known limitations. It is not an exhaustive list of every database Scriptella can connect to.
Scriptella does not bundle vendor JDBC drivers. Download the appropriate driver
from its vendor and make its JAR available through the connection classpath
or the Scriptella runtime classpath.
Core database validation targets
Scriptella 1.5's full packaged-distribution matrix passed for PostgreSQL and MariaDB on 2026-08-27 using JDK 25. A separate targeted packaged lane also passed for MySQL Server 8.4.11 with Connector/J 26.7.0. “Tested for Scriptella 1.5” below means that the recorded practical matrix passed for the listed server and driver versions; it is not an industry certification or an unbounded compatibility promise. “Targeted 1.5 lane” means that one recorded server/driver contract passed, without implying a broad compatibility matrix. “Provisional” means that adapter or focused compatibility coverage exists, but the corresponding broad release matrix has not passed.
| Database | Scriptella alias | Preferred JDBC class | Canonical URL prefix | Validation target | Status |
|---|---|---|---|---|---|
| PostgreSQL | postgresql | org.postgresql.Driver | jdbc:postgresql: | pgJDBC 42.7.13 / PostgreSQL 17.11 | Tested for Scriptella 1.5 |
| MariaDB | mariadb | org.mariadb.jdbc.Driver | jdbc:mariadb: | MariaDB Connector/J 3.5.7 / MariaDB 11.8.8 | Tested for Scriptella 1.5 |
| MySQL | mysql | com.mysql.cj.jdbc.Driver | jdbc:mysql: | MySQL Connector/J 26.7.0 / MySQL 8.4.11 | Targeted 1.5 lane; not a full matrix |
| Oracle Database | oracle | oracle.jdbc.OracleDriver | jdbc:oracle: | ojdbc17 23.26.3.0.0 / Oracle Free 23.26.2 | Focused public real-database coverage; not a broad release matrix |
| Microsoft SQL Server | mssql | com.microsoft.sqlserver.jdbc.SQLServerDriver | jdbc:sqlserver: | mssql-jdbc 13.6.0.jre11 / SQL Server 2022-CU26 | Focused public real-database coverage; not a broad release matrix |
Scriptella 1.5 provides first-class aliases and URL autodetection for the current driver classes and canonical URLs above. Obsolete or deprecated driver classes and URL schemes are not retained as adapter fallbacks. Other JDBC drivers may still be usable by specifying their fully qualified driver class, but they are outside the documented compatibility baseline.
MySQL has one intentionally narrow 1.5 validation lane: MySQL Server 8.4.11
with Connector/J 26.7.0. The packaged contract passed connection,
parameterized write/read, H2↔MySQL migration, commit, and rollback checks. This
is targeted evidence for the common MySQL configuration, not a broad MySQL
compatibility matrix; multiple server releases, driver generations, and
vendor-specific edge cases are outside the claim.
When upgrading to Scriptella 1.5, use current JDBC driver generations. The
legacy MySQL and Oracle driver class names and the SQL Server 2000, jTDS, and
jdbc:microsoft: routes are no longer part of the first-class database
adapter baseline.
Obtaining drivers
| Database | Vendor distribution | Maven coordinate or JAR pattern |
|---|---|---|
| PostgreSQL | pgJDBC downloads | org.postgresql:postgresql:VERSION; postgresql-VERSION.jar |
| MariaDB | MariaDB Connector/J | org.mariadb.jdbc:mariadb-java-client:VERSION; mariadb-java-client-VERSION.jar |
| MySQL | MySQL Connector/J | com.mysql:mysql-connector-j:VERSION; mysql-connector-j-VERSION.jar |
| Oracle Database | Oracle JDBC downloads | com.oracle.database.jdbc:ojdbc17:VERSION; ojdbc17.jar for JDK 17 and later |
| Microsoft SQL Server | Microsoft JDBC Driver downloads | com.microsoft.sqlserver:mssql-jdbc:VERSION.jre11; mssql-jdbc-VERSION.jre11.jar for JDK 17 |
These coordinates identify external runtime drivers for users and validation; they are not dependencies of the Scriptella product build or distribution.
Connection classpath examples
The following examples assume that the ETL file is next to a lib/ directory.
Connection classpath values are resolved relative to the ETL file. Replace
the placeholder credentials with values from a protected properties or secret
store; do not commit passwords to an ETL file.
PostgreSQL:
<connection id="postgresql" driver="postgresql"
url="jdbc:postgresql://db.example.com:5432/app"
user="app_user" password="${db.password}"
classpath="lib/postgresql-42.7.13.jar"/>
MariaDB:
<connection id="mariadb" driver="mariadb"
url="jdbc:mariadb://db.example.com:3306/app"
user="app_user" password="${db.password}"
classpath="lib/mariadb-java-client-3.5.7.jar"/>
MySQL:
<connection id="mysql" driver="mysql"
url="jdbc:mysql://db.example.com:3306/app"
user="app_user" password="${db.password}"
classpath="lib/mysql-connector-j-26.7.0.jar"/>
Oracle Database:
<connection id="oracle" driver="oracle"
url="jdbc:oracle:thin:@//db.example.com:1521/app"
user="app_user" password="${db.password}"
classpath="lib/ojdbc17.jar"/>
Microsoft SQL Server:
<connection id="mssql" driver="mssql"
url="jdbc:sqlserver://db.example.com:1433;databaseName=app;encrypt=true;trustServerCertificate=false"
user="app_user" password="${db.password}"
classpath="lib/mssql-jdbc-VERSION.jre11.jar"/>
Current Microsoft JDBC drivers use TLS encryption by default and validate the
server certificate by default. The SQL Server example states both settings
explicitly. Use a server name that matches the certificate and provide trust
material through the JVM trust store or the driver's trustStore properties.
Setting trustServerCertificate=true disables certificate validation and is
appropriate only for a controlled local test with a self-signed certificate,
not for production.
See the Microsoft JDBC encryption guidance for the driver-specific trust-store options.
Compatibility validation
Public real-database compatibility tests
The public Scriptella Testcontainers suite runs focused ETL compatibility tests against real PostgreSQL, MariaDB, Oracle Free, and Microsoft SQL Server databases using pinned container images and JDBC driver versions. The tests exercise representative reads, writes, values, and transaction rollback.
Recorded results are available in the suite's compatibility history.
These public tests are intentionally narrower than the project's comprehensive internal compatibility certification.
The Scriptella Project Team performs internal compatibility validation against the database and JDBC driver targets documented on this page. These results help users understand the tested configurations; each applies only to the recorded versions and test scope, including any stated limitations. They are not an industry or regulatory certification or an unbounded compatibility promise.
For support or to request compatibility validation for another database, contact PVR Labs, the maintainer of Scriptella, through the Scriptella support page.