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.

DatabaseScriptella aliasPreferred JDBC classCanonical URL prefixValidation targetStatus
PostgreSQLpostgresqlorg.postgresql.Driverjdbc:postgresql:pgJDBC 42.7.13 / PostgreSQL 17.11Tested for Scriptella 1.5
MariaDBmariadborg.mariadb.jdbc.Driverjdbc:mariadb:MariaDB Connector/J 3.5.7 / MariaDB 11.8.8Tested for Scriptella 1.5
MySQLmysqlcom.mysql.cj.jdbc.Driverjdbc:mysql:MySQL Connector/J 26.7.0 / MySQL 8.4.11Targeted 1.5 lane; not a full matrix
Oracle Databaseoracleoracle.jdbc.OracleDriverjdbc:oracle:ojdbc17 23.26.3.0.0 / Oracle Free 23.26.2Focused public real-database coverage; not a broad release matrix
Microsoft SQL Servermssqlcom.microsoft.sqlserver.jdbc.SQLServerDriverjdbc:sqlserver:mssql-jdbc 13.6.0.jre11 / SQL Server 2022-CU26Focused 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

DatabaseVendor distributionMaven coordinate or JAR pattern
PostgreSQLpgJDBC downloadsorg.postgresql:postgresql:VERSION; postgresql-VERSION.jar
MariaDBMariaDB Connector/Jorg.mariadb.jdbc:mariadb-java-client:VERSION; mariadb-java-client-VERSION.jar
MySQLMySQL Connector/Jcom.mysql:mysql-connector-j:VERSION; mysql-connector-j-VERSION.jar
Oracle DatabaseOracle JDBC downloadscom.oracle.database.jdbc:ojdbc17:VERSION; ojdbc17.jar for JDK 17 and later
Microsoft SQL ServerMicrosoft JDBC Driver downloadscom.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.