VMS and JDBC drivers

Content:

  1. Introduction
  2. What it is
  3. Examples
  4. Architecture
  5. Software
  6. API's
    1. Plain JDBC
    2. JPA
    3. DB API 2.0
    4. PJBS
  7. Full content COM files etc.
    1. VMS x86-64 with Java 8
    2. VMS Alpha with Java 5

Introduction:

This provide an overview of JDBC for VMS developers.

A lot of it is OS independent, but there is a specific VMS perspective.

Not really anything new. Just some practical advice, some links and some very simple examples.

The purpose is not to show how to do the actual database work. The purpose is to describe jar files, symbols, logicals, commands, configuration files etc. to enable database connections.

The following will be shown:

Application

Java
Groovy
Jython
Python
PHP
VMS x86-64
Java
Groovy
Jython
Python
PHP
VMS Alpha

Database

SQLite
Derby
H2
HSQLDB
VMS x86-64
Rdb
MySQL
Mimer
SQLite
Derby
H2
HSQLDB
VMS Alpha
MySQL
PostgreSQL
Oracle DB
IBM DB2
MS SQLServer
Windows

Some knowledge about databases, SQL, Java and VMS are expected.

What it is:

JDBC is an API and driver framework for database access from JVM languages (Java, Groovy, Jython, Kotlin, Scala etc.).

JDBC type 4 drivers are especially interesting on VMS, because you don't need a VMS specific driver - you use the exact same drivers as Windows and Linux use.

For JDBC type 2 drivers we need a VMS version.

Examples:

Examples of JDBC drivers available for VMS:

Database Server Embedded Database
Type 2 driver Oracle Rdb - native driver SQLite
Type 4 driver MySQL
PostgreSQl
Oracle DB - thin driver
IBM DB2 - type 4 driver
Oracle Rdb - thin driver
Mimer
Derby (*)
H2 (*)
HSQLDB (*)

*) Derby, H2 and HSQLDB can be run as database server, but the typical use is as embedded database.

Architecture:

JDBC can be used from any JVM language (Java, Groovy, Jython, Kotlin, Scala etc.).

But it is also possible to add a layer on top of JDBC.

Here we will look at:

JPA is the Java standard for ORM allowing one to use an object oriented interface instead of SQL.

zxJDBC is a convenience layer that allow Jython to use standard Python DB API 2.0 API with a JDBC driver.

PJBS is an open source program that allows non-JVM languages like PHP and Python to use a JDBC driver via a proxy.

JDBC extended architecture

Software:

Software to be used:

Software General recommendation What I use on VMS x86-64 What I use on VMS Alpha
Java From VMS vendor VSI OpenJDK 8 HP Java 5 (no longer available)
Groovy standard Groovy that runs on Java version
(VMS com file wrapper available here)
4.0 2.2
Jython standard Jython that runs on Java version
(copy + VMS com file wrapper available here - look for vmsscript-bin-*.zip)
2.7 2.5
PHP I prefer Berryman PHP over VSI PHP 8.1 7.2
Python Whatever VSI Python 3.10 JFP Python 2.7 (I don't think it is available any longer)
MySQL JDBC driver Official version supporting database version and Java version 8.0
mysql-connector-j-8_0_33.jar
5.1
mysql-connector-java-5_1_36-bin.jar
PostgreSQL JDBC driver Official version supporting database version and Java version 42
postgresql-42_5_1.jar
9.3 (*)
postgresql-9_3-1103-jdbc3.jar
Oracle DB JDBC driver Version that comes with database install supporting Java version what came with 21c
ojdbc8.jar
Maven repo
ojdbc5.jar
IBM DB2 JDBC driver Version that comes with database install supporting Java version what came with 11.5
db2jcc4.jar
db2policy.jar
(never tried)
MS SQLServer JDBC driver Official version supporting database version and Java version 12.2 (**)
mssql-jdbc-12_2_0_jre8.jar
4.0 (**)
sqljdbc-4_0_2206.jar
Oracle Rdb JDBC driver Version that comes with database install supporting Java version (never tried) what came with 7.3
rdbthinv5.jar
Mimer JDBC driver Official version supporting database version and Java version (never tried) 3.42
mimjdbc3.jar
SQLite JDBC driver Alpha and Itanium (***)
For x86-64 follow instructions below
3.47
sqlite-jdbc-3_47_2_0.jar
3.14
sqlite-jdbc-3_14_1-vms.jar
Derby JDBC driver Standard Derby supporting Java version 10
derby.jar
10
derby.jar
H2 JDBC driver Standard H2 supporting Java version 2.2
h2-2_2_220.jar
1.2
h2-1_2_147.jar
HSQLDB JDBC driver Standard HSQLDB supporting Java version 2.3
hsqldb.jar
2.3
hsqldb.jar
JPA provider Standard Hibernate supporting Java version 5
javax_persistence-api-2_2.jar
hibernate-core-5_6_5_Final.jar
hibernate-commons-annotations-5_1_2_Final.jar
javax_activation-api-1_2_0.jar
jboss-transaction-api_1_2_spec-1_1_1_Final.jar
istack-commons-runtime-3_0_7.jar
stax-ex-1_8.jar
txw2-2_3_1.jar
jboss-logging-3_4_3_Final.jar
antlr-2_7_7.jar
byte-buddy-1_12_7.jar
classmate-1_5_1.jar
jandex-2_4_2_Final.jar"
3
antlr-2_7_6.jar
cglib-2_2.jar
commons-collections-3_1.jar
dom4j-1_6_1.jar
hibernate-jpa-2_0-api-1_0_0_final.jar
hibernate3.jar
javassist-3_12_0_ga.jar
jta-1_1.jar
slf4j-api-1_6_1.jar
slf4j-jdk14-1_6_1.jar
zxJDBC Standard zxJDBC -
zxjdbc.jar
-
zxjdbc.jar
PJBS My bundle
(or original for PHP only)
-
pjbs.jar
-
pjbs.jar

*) Only work with an old PostgreSQL server or a new PostgreSQL server with password securityd owngraded to MD5.

**) Note that integrated security does not work - that requires native code running on Windows.

***) These jars require some logicals to work:

$ define/nolog java$filename_controls 8
$ define/nolog decc$efs_charset true

SQLite JDBC driver for VMS x86-64 instructions:

1) Get latest SQLite for VMS from https://sourceforge.net/projects/vms-ports/files/SQLITE3/
   (currently sqlite3_vms_051.zip)
2) Build with 64 bit pointers using MMS:
     $ mms/macro=(pointer_opt=64)
3) Get latest SQLite JDBC driver from https://github.com/xerial/sqlite-jdbc
   (currently sqlite-3.47.2.0.jar)
4) Get latest NativeDB.c from https://github.com/xerial/sqlite-jdbc/tree/master/src/main/java/org/sqlite/core
5) Generate JNI shareable image using COM file below.

$ jcc := cc/pointer=64/name=(as_is,shortened)/reent=multi/float=ieee/ieee=denorm/include=(sys$common:[openjdk$80.include],sys$common:[openjdk$80.include.openvms],sqlite3_include)"
$ javah -cp sqlite-jdbc-3_47_2_0.jar org.sqlite.core.NativeDB
$ ren org_sqlite_core_NativeDB.h NativeDB.h
$ jcc NativeDB
$ pipe java$build_option NativeDB.obj > NativeDB.opt
$ link/map/share=sqlitejdbc NativeDB + NativeDB/opt + sys$input/opt
sqlite3shr64/share
$
$ exit

Note: this keep the shareable image as a disk file - it does not stuff it into the jar file like the Alpha and Itanium version does.

Connection URL:

JDBC driver Driver class URL format Hibernate dialect
MySQL com.mysql.jdbc.Driver (5.x)
com.mysql.cj.jdbc.Driver (8.x)
jdbc:mysql://<host>/<database> org.hibernate.dialect.MySQL5Dialect
PostgreSQL org.postgresql.Driver jdbc:postgresql://<host>/<database> org.hibernate.dialect.PostgreSQLDialect
Oracle DB oracle.jdbc.OracleDriver jdbc:oracle:thin:<un>/<pw>@<host>/<database> org.hibernate.dialect.Oracle10gDialect
IBM DB2 com.ibm.db2.jcc.DB2Driver jdbc:db2://<host>:25000/<database> org.hibernate.dialect.DB2Dialect
MS SQLServer com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc:sqlserver://<host>;database=<database>;integratedSecurity=false;encrypt=false; org.hibernate.dialect.SQLServer2008Dialect
Oracle Rdb oracle.rdb.jdbc.rdbThin.Driver (thin)
oracle.rdb.jdbc.rdbNative.Driver (native)
jdbc:rdbThin://<host>:<port>/<disk>:[<dir>]<name> (thin)
jdbc:rdbNative:<disk>:[<dir>]<name> (native)
org.hibernate.dialect.RdbDialect (see build proceure below)
Mimer com.mimer.jdbc.Driver jdbc:mimer:/<name> (local)
jdbc:mimer://<un>/<pw>@<host>/<database>
org.hibernate.dialect.MimerSQLDialect
SQLite org.sqlite.JDBC jdbc:sqlite:<file-name-with-ext> org.hibernate.dialect.SQLiteDialect (Hibernate 3)
org.sqlite.hibernate.dialect.SQLiteDialect (Hibernate 5)
Derby org.apache.derby.jdbc.EmbeddedDriver (embedded + memory)
org.apache.derby.jdbc.ClientDriver (server)
jdbc:derby:directory:<directory-name> (embedded)
jdbc:derby://<host>/<database> (server)
jdbc:derby:memory:<name>;create=true (memory)
org.hibernate.dialect.DerbyDialect
H2 org.h2.Driver jdbc:h2:file:<file-name-without-ext>;FILE_LOCK=FS (embedded)
jdbc:h2://<host>/<database>;FILE_LOCK=FS (server)
jdbc:h2:mem:<name> (memory)
org.hibernate.dialect.H2Dialect
HSQLDB org.hsqldb.jdbc.JDBCDriver jdbc:hsqldb:file:<file-name-without-ext>;shutdown=true
jdbc:hsqldb:hsql://<host>/<database> (server)
jdbc:hsqldb:mem:<name>;shutdown=true (memory)
org.hibernate.dialect.HSQLDialect

Build of Rdb Hibernate dialect:

$ jar xvf rdb$jdbc_home:rdb_ext.jar "RdbDialect.java"
$ set file/attr=rfm:stm RdbDialect.java
$ convert/fdl=nla0: RdbDialect.java RdbDialect.java
$ purge RdbDialect.java
$ create/dir [.org.hibernate.dialect]
$ ren RdbDialect.java [.org.hibernate.dialect]
$ javac -classpath 'hibpath' "[.org.hibernate.dialect]RdbDialect.java"
$ jar cvf rdbhib.jar "[.org.hibernate.dialect]RdbDialect.class"
$ exit

API's

The examples below are super trivial - just enough to confirm that things work.

Plain JDBC:

ReadJdbc.java:

import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;

public class ReadJdbc {
    public static void main(String[] args) throws Exception {
        System.out.printf("Java JDBC - %s\n", args[0]);
        try(Connection con = args.length >= 3
                             ? DriverManager.getConnection(args[0], args[1], args[2])
                             : DriverManager.getConnection(args[0])) {
            try(Statement stmt = con.createStatement()) {
                try(ResultSet rs = stmt.executeQuery("SELECT f1,f2 FROM t1")) {
                    while(rs.next()) {
                        int f1 = rs.getInt(1);
                        String f2 = rs.getString(2);
                        System.out.printf("%d %s\n", f1, f2);
                    }
                }
            }
        }
    }
}

Build and run:

$ javac ReadJdbc.java
$ java -cp .:<driver-jar> "ReadJdbc" <url> <un> <pw>

ReadJdbc.java:

import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;

public class ReadJdbc {
    public static void main(String[] args) throws Exception {
        System.out.printf("Java JDBC - %s\n", args[1]);
        Class.forName(args[0]);
        Connection con = args.length >= 4
                         ? DriverManager.getConnection(args[1], args[2], args[3])
                         : DriverManager.getConnection(args[1]);
        Statement stmt = con.createStatement();
        ResultSet rs = stmt.executeQuery("SELECT f1,f2 FROM t1");
        while(rs.next()) {
            int f1 = rs.getInt(1);
            String f2 = rs.getString(2);
            System.out.printf("%d %s\n", f1, f2);
        }
        rs.close();
        stmt.close();
        con.close();
    }
}

Build and run:

$ javac ReadJdbc.java
$ java -cp .:<driver-jar> "ReadJdbc" <driver-class> <url> <un> <pw>

ReadJdbc.groovy:

import java.sql.*

printf("Groovy JDBC - %s\n", args[0])
try(con = args.length >= 3
          ? DriverManager.getConnection(args[0], args[1], args[2])
          : DriverManager.getConnection(args[0])) {
    try(stmt = con.createStatement()) {
        try(rs = stmt.executeQuery("SELECT f1,f2 FROM t1")) {
            while(rs.next()) {
                f1 = rs.getInt(1)
                f2 = rs.getString(2)
                printf("%d %s\n", f1, f2)
            }
        }
    }
}

Run:

$ groovy_cp = "<driver-jar>"
$ groovy ReadJdbc.groovy """<url>""" """<un>""" """<pw>"""

ReadJdbc.groovy:

import java.sql.*

printf("Groovy JDBC - %s\n", args[1])
Class.forName(args[0])
con = args.length >= 4 ?
      DriverManager.getConnection(args[1], args[2], args[3]) :
      DriverManager.getConnection(args[1])
stmt = con.createStatement()
rs = stmt.executeQuery("SELECT f1,f2 FROM t1")
while(rs.next()) {
    f1 = rs.getInt(1)
    f2 = rs.getString(2)
    printf("%d %s\n", f1, f2)
}
rs.close()
stmt.close()
con.close()

Run:

$ groovy_cp = "<driver-jar>"
$ groovy ReadJdbc.groovy """<driver-class>""" """<url>""" """<un>""" """<pw>"""

ReadJdbc.py:

from sys import argv

from java.sql import DriverManager

print('Jython JDBC - %s' % (argv[1]))
con = DriverManager.getConnection(argv[1], argv[2], argv[3]) \
      if len(argv) >= 4 \
      else DriverManager.getConnection(argv[1])
stmt = con.createStatement()
rs = stmt.executeQuery('SELECT f1,f2 FROM t1')
while rs.next():
    f1 = rs.getInt(1)
    f2 = rs.getString(2)
    print('%d %s' % (f1, f2))
rs.close()
stmt.close()
con.close()

Run:

$ define/nolog jython_libs "<driver-jar>"
$ jython ReadJdbc.py """<url>""" """<url>""" """<pw>"""

ReadJdbc.py:

from sys import argv

from java.sql import DriverManager

# horrible hack to work around that Jython cannot use Class.forName to explicit load JDBC driver classes:
if argv[1] == "com.mysql.jdbc.Driver":
    from com.mysql.jdbc import Driver
if argv[1] == "org.postgresql.Driver":
    from org.postgresql import Driver
if argv[1] == "oracle.jdbc.OracleDriver":
    from oracle.jdbc import OracleDriver
if argv[1] == "com.microsoft.sqlserver.jdbc.SQLServerDriver":
    from com.microsoft.sqlserver.jdbc import SQLServerDriver
if argv[1] == "oracle.rdb.jdbc.rdbThin.Driver":
    from oracle.rdb.jdbc.rdbThin import Driver
if argv[1] == "com.mimer.jdbc.Driver":
    from com.mimer.jdbc import Driver
if argv[1] == "org.sqlite.JDBC":
    from org.sqlite import JDBC
if argv[1] == "org.apache.derby.jdbc.EmbeddedDriver":
    from org.apache.derby.jdbc import EmbeddedDriver
if argv[1] == "org.h2.Driver":
    from org.h2 import Driver
if argv[1] == "org.hsqldb.jdbc.JDBCDriver":
    from org.hsqldb.jdbc import JDBCDriver

print('Jython JDBC - %s' % (argv[2]))
con = DriverManager.getConnection(argv[2], argv[3], argv[4]) \
      if len(argv) >= 5 \
      else DriverManager.getConnection(argv[2])
stmt = con.createStatement()
rs = stmt.executeQuery('SELECT f1,f2 FROM t1')
while rs.next():
    f1 = rs.getInt(1)
    f2 = rs.getString(2)
    print('%d %s' % (f1, f2))
rs.close()
stmt.close()
con.close()

Run:

$ define/nolog jython_libs "<driver-jar>"
$ jython ReadJdbc.py """<driver-class>""" """<url>""" """<url>""" """<pw>"""

The old versions of Java and Groovy exist because:

The old code actually works fine with Java 8 and Groovy 4, but the new style is preferred, so unless the code absolutely must run on VMS Alpha with Java 5 and Groovy 2, then forget about the old style.

More information/examples:

JPA:

T1.java:

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="t1")
public class T1 {
    private int f1;
    private String f2;
    public T1() {
        this(0, "");
    }
    public T1(int f1, String f2) {
        this.f1 = f1;
        this.f2 = f2;
    }
    @Id
    @Column(name="f1")
    public int getF1() {
        return f1;
    }
    public void setF1(int f1) {
        this.f1 = f1;
    }
    @Column(name="f2")
    public String getF2() {
        return f2;
    }
    public void setF2(String f2) {
       this.f2 = f2;
    }
}

persistence.xml:


<persistence xmlns="http://java.sun.com/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
             version="2.0">
   <persistence-unit name="foobar">
      <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
      <class>T1</class>
      <exclude-unlisted-classes/>
      <properties>
          <property name="hibernate.show_sql" value="false"/>
          <property name="hibernate.connection.driver_class" value="com.foobar.jdbc.Driver"/>
          <property name="hibernate.connection.url" value="jdbc:foobar://host/db"/>
          <property name="hibernate.connection.username" value="xxxxxx"/>
          <property name="hibernate.connection.password" value="yyyyyy"/>
          <property name="hibernate.connection.pool_size" value="5"/>
          <property name="hibernate.dialect" value="org.hibernate.dialect.FoobarDialect"/>
      </properties>
   </persistence-unit>
</persistence>

ReadJpa.java:

import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.TypedQuery;

public class ReadJpa{
    public static void main(String[] args) {
        System.out.printf("Java JPA - %s\n", args[0]);
        Logger.getLogger("org.hibernate").setLevel(Level.OFF);
        EntityManagerFactory emf = Persistence.createEntityManagerFactory(args[0]);
        EntityManager em = emf.createEntityManager();
        TypedQuery<T1> q = em.createQuery("SELECT o FROM T1 AS o", T1.class);
        List<T1> res = q.getResultList();
        for(T1 o : res) {
            System.out.printf("%d %s\n", o.getF1(), o.getF2());
        }
        em.close();
        emf.close();
    }
}

Build and run:

$ javac -cp <hibernate-jars> T1.java ReadJpa.java
$ java -cp .:<hibernate-jars>:<driver-jar> "ReadJpa" <unit-name>

ReadJpa.groovy:

import java.util.logging.*

import javax.persistence.*

printf("Groovy JPA - %s\n", args[0])
Logger.getLogger("org.hibernate").setLevel(Level.OFF)
emf = Persistence.createEntityManagerFactory(args[0])
em = emf.createEntityManager()
q = em.createQuery("SELECT o FROM T1 AS o", T1.class)
res = q.getResultList()
for(o in res) {
    printf("%d %s\n", o.f1, o.f2)
}
em.close()
emf.close()

Run:

$ javac -cp <hibernate-jars> T1.java
$ groovy_cp = ".:<hibernate-jars>:<driver-jar>"
$ groovy ReadJpa.groovy """<unit-name>"""

ReadJpa.py:

from sys import argv

from java.util.logging import Level, Logger

from javax.persistence import Persistence

import T1

print('Jython JPA - %s' % (argv[1]))
Logger.getLogger("org.hibernate").setLevel(Level.OFF)
emf = Persistence.createEntityManagerFactory(argv[1])
em = emf.createEntityManager()
q = em.createQuery("SELECT o FROM T1 AS o", T1)
res = q.getResultList()
for o in res:
    print('%d %s' % (o.f1, o.f2))
em.close()
emf.close()

Run:

$ javac -cp <hibernate-jars> T1.java
$ jython_libs_prefix = "<hibernate-jars>:"
$ define/nolog jython_libs "<driver-jar>"
$ jython ReadJpa.py """<unit-name>"""

More information/examples:

DB API 2.0:

Jython & zxJDBC:

ReadDbApi.py:

from sys import argv

from com.ziclix.python.sql import zxJDBC

print('Jython DB API via zxJDBC - %s' % (argv[2]))
with zxJDBC.connect(argv[2], argv[3], argv[4], argv[1]) \
     if len(argv) >= 5 \
     else zxJDBC.connect(argv[2], None, None, argv[1]) as con:
    c = con.cursor()
    c.execute('SELECT f1,f2 FROM t1')
    rows = c.fetchall()
    for row in rows:
        f1 = row[0]
        f2 = row[1]
        print('%d %s' % (f1, f2))
    c.close()
    con.commit()

Run:

$ define/nolog jython_libs "zxjdbc.jar:<driver-jar>"
$ jython ReadDbApi.py """<driver-class>""" """<url>""" """<un>""" """<pw>"""

More information/examples:

Python & PJBS:

ReadDbApi2.py:

from sys import argv

import PJBS

print('Python DB API via PJBS - %s' % (argv[2]))
with PJBS.connect('localhost', int(argv[1]), argv[2], argv[3], argv[4]) \
     if len(argv) >= 5 \
     else PJBS.connect('localhost', int(argv[1]), argv[2]) as con:
    c = con.cursor()
    c.execute('SELECT f1,f2 FROM t1')
    rows = c.fetchall()
    for row in rows:
        f1 = int(row[0])
        f2 = row[1]
        print('%d %s' % (f1, f2))
    c.close()
    con.commit()

Run:

$ python ReadDbApi2.py <proxy-port> <url> <un> <pw>

PJBS:

PHP:

ReadPjbs.php:

<?php
require 'PJBridge.php';

echo 'PHP PJBS - ' . $argv[3] . "\r\n";
$db = new PJBridge('localhost', (int)$argv[1]);
$uc = $argv[2] == 'true';
if(count($argv) >= 6) {
    $con = $db->connect($argv[3], $argv[4], $argv[5]);
} else {
    $con = $db->connect($argv[3], '', '');
}
$rs = $db->exec('SELECT f1,f2 FROM t1');
while($row = $db->fetch_array($rs)){
    $f1 = $row[$uc ? 'F1' : 'f1'];
    $f2 = $row[$uc ? 'F2' : 'f2'];
    echo "$f1 $f2\r\n";
}
$db->free_result($rs);
?>

Run:

$ php ReadPjbs.php <proxy-port> <uppercase-column-names> <url> <un> <pw>

More information/examples:

Python:

ReadPjbs.py:

from sys import argv

import PJBridge

print('Python PJBS - %s' % (argv[3]))
db = PJBridge.PJBridge('localhost', int(argv[1]))
uc = argv[2] == 'true'
if len(argv) >= 6:
    con = db.connect(argv[3], argv[4], argv[5])
else:
    con = db.connect(argv[3], '', '')
stat, rs = db.exec('SELECT f1,f2 FROM t1')
while True:
    stat, row, _ = db.fetch_array(rs)
    if not stat:
        break
    f1 = int(row['F1' if uc else 'f1'])
    f2 = row['F2' if uc else 'f2']
    print('%d %s' % (f1, f2))
db.free_result(rs)
db.close()

Run:

$ python ReadPjbs.py <proxy-port> <uppercase-column-names> <url> <un> <pw>

Full content COM files etc.:

This is mostly covered above in a generic form, but here comes the actual COM files with parameters for each database and the actual persistence.xml with section for each database. Which sometimes can be nice to see.

VMS x86-64 with Java 8:

cre.com:

$ del test.db;*
$ pipe sqlite3 test.db < cre.sql
$ set prot=(o:rwed) test.dir,[.test...]*.dir
$ del [.test...]*.*;* /excl=*.dir
$ del [.test...]*.*;*
$ del test.dir;*
$ java -cp /javalib/derbytools.jar:/javalib/derby.jar "org.apache.derby.tools.ij" cre_derby.sql
$ del test^.mv.db;*
$ pipe java -cp /javalib/h2-2_2_220.jar "org.h2.tools.Shell" -url "jdbc:h2:file:./test;FILE_LOCK=FS" < cre.sql
$ del test.properties;*
$ del test.script;*
$ pipe java -jar /javalib/sqltool.jar --driver=org.hsqldb.jdbc.JDBCDriver --inlineRc=url=jdbc:hsqldb:file:test;shutdown=true < cre_hsqldb.sql
$ exit

readjdbc.com:

$ define/nolog sqlitejdbc disk2:[arne.sqlite]sqlitejdbc.exe
$ javac ReadJdbc.java
$ java -cp .:/javalib/mysql-connector-j-8_0_33.jar ReadJdbc jdbc:mysql://arnepc5/Test arne hemmeligt
$ java -cp .:/javalib/postgresql-42_5_1.jar ReadJdbc jdbc:postgresql://arnepc5/Test postgres hemmeligt
$ java -cp .:/javalib/ojdbc8.jar ReadJdbc jdbc:oracle:thin:arne/hemmeligt@//arnepc5/Test
$ java -cp .:/javalib/db2jcc4.jar:/javalib/db2policy.jar ReadJdbc jdbc:db2://arnepc5:25000/Test arne hemmeligt
$ java -cp .:/javalib/mssql-jdbc-12_2_0_jre8.jar ReadJdbc jdbc:sqlserver://arnepc5;database=Test;integratedSecurity=false;encrypt=false; sa hemmeligt
$ java -cp .:/javalib/sqlite-jdbc-3_47_2_0.jar ReadJdbc jdbc:sqlite:test.db
$ java -cp .:/javalib/derby.jar ReadJdbc jdbc:derby:directory:test
$ java -cp .:/javalib/h2-2_2_220.jar ReadJdbc jdbc:h2:file:./test;FILE_LOCK=FS
$ java -cp .:/javalib/hsqldb.jar ReadJdbc jdbc:hsqldb:file:test;shutdown=true
$ del *.class;*
$ groovy_cp = "/javalib/mysql-connector-j-8_0_33.jar"
$ groovy ReadJdbc.groovy """jdbc:mysql://arnepc5/Test""" """arne""" """hemmeligt"""
$ groovy_cp = "/javalib/postgresql-42_5_1.jar"
$ groovy ReadJdbc.groovy """jdbc:postgresql://arnepc5/Test""" """postgres""" """hemmeligt"""
$ groovy_cp = "/javalib/ojdbc8.jar"
$ groovy ReadJdbc.groovy """jdbc:oracle:thin:arne/hemmeligt@//arnepc5/Test"""
$ groovy_cp = "/javalib/db2jcc4.jar:/javalib/db2policy.jar"
$ groovy ReadJdbc.groovy """jdbc:db2://arnepc5:25000/Test""" """arne""" """hemmeligt"""
$ groovy_cp = "/javalib/mssql-jdbc-12_2_0_jre8.jar"
$ groovy ReadJdbc.groovy """jdbc:sqlserver://arnepc5;database=Test;integratedSecurity=false;encrypt=false;""" """sa""" """hemmeligt"""
$ groovy_cp = "/javalib/sqlite-jdbc-3_47_2_0.jar"
$ groovy ReadJdbc.groovy """jdbc:sqlite:test.db"""
$ groovy_cp = "/javalib/derby.jar"
$ groovy ReadJdbc.groovy """jdbc:derby:directory:test"""
$ groovy_cp = "/javalib/h2-2_2_220.jar"
$ groovy ReadJdbc.groovy """jdbc:h2:file:./test;FILE_LOCK=FS"""
$ groovy_cp = "/javalib/hsqldb.jar"
$ groovy ReadJdbc.groovy """jdbc:hsqldb:file:test;shutdown=true"""
$ define/nolog jython_libs "/javalib/mysql-connector-j-8_0_33.jar"
$ jython ReadJdbc.py """jdbc:mysql://arnepc5/Test""" """arne""" """hemmeligt"""
$ define/nolog jython_libs "/javalib/postgresql-42_5_1.jar"
$ jython ReadJdbc.py """jdbc:postgresql://arnepc5/Test""" """postgres""" """hemmeligt"""
$ define/nolog jython_libs "/javalib/ojdbc8.jar"
$ jython ReadJdbc.py """jdbc:oracle:thin:@//arnepc5/Test""" """arne""" """hemmeligt"""
$ define/nolog jython_libs "/javalib/db2jcc4.jar:/javalib/db2policy.jar"
$ jython ReadJdbc.py """jdbc:db2://arnepc5:25000/Test""" """arne""" """hemmeligt"""
$ define/nolog jython_libs "/javalib/mssql-jdbc-12_2_0_jre8.jar"
$ jython ReadJdbc.py """jdbc:sqlserver://arnepc5;database=Test;integratedSecurity=false;encrypt=false;""" """sa""" """hemmeligt"""
$ define/nolog jython_libs "/javalib/sqlite-jdbc-3_47_2_0.jar"
$ jython ReadJdbc.py """jdbc:sqlite:test.db"""
$ define/nolog jython_libs "/javalib/derby.jar"
$ jython ReadJdbc.py """jdbc:derby:directory:test"""
$ define/nolog jython_libs "/javalib/h2-2_2_220.jar"
$ jython ReadJdbc.py """jdbc:h2:file:./test;FILE_LOCK=FS"""
$ define/nolog jython_libs "/javalib/hsqldb.jar"
$ jython ReadJdbc.py """jdbc:hsqldb:file:test;shutdown=true"""
$ exit

readjpa.com:

$ define/nolog sqlitejdbc disk2:[arne.sqlite]sqlitejdbc.exe
$ hibpath = "/javalib/javax_persistence-api-2_2.jar:/javalib/hibernate-core-5_6_5_Final.jar:/javalib/hibernate-commons-annotations-5_1_2_Final.jar:/javalib/javax_activation-api-1_2_0.jar:/javalib/jboss-transaction-api_1_2_spec-1_1_1_Final.jar:/javalib/istack-commons-runtime-3_0_7.jar:/javalib/stax-ex-1_8.jar:/javalib/txw2-2_3_1.jar:/javalib/jboss-logging-3_4_3_Final.jar:/javalib/antlr-2_7_7.jar:/javalib/byte-buddy-1_12_7.jar:/javalib/classmate-1_5_1.jar:/javalib/jandex-2_4_2_Final.jar"
$ javac -cp 'hibpath' T1.java ReadJpa.java
$ java -cp .:'hibpath':/javalib/mysql-connector-j-8_0_33.jar ReadJpa mysql
$ java -cp .:'hibpath':/javalib/postgresql-42_5_1.jar ReadJpa pgsql
$ java -cp .:'hibpath':/javalib/ojdbc8.jar ReadJpa ora
$ java -cp .:'hibpath':/javalib/db2jcc4.jar:/javalib/db2policy.jar ReadJpa db2
$ java -cp .:'hibpath':/javalib/mssql-jdbc-12_2_0_jre8.jar ReadJpa mssql
$ java -cp .:'hibpath':/javalib/sqlite-jdbc-3_47_2_0.jar:/javalib/sqlite-dialect-0_1_4.jar ReadJpa sqlite
$ java -cp .:'hibpath':/javalib/derby.jar ReadJpa derby
$ java -cp .:'hibpath':/javalib/h2-2_2_220.jar ReadJpa h2
$ java -cp .:'hibpath':/javalib/hsqldb.jar ReadJpa hsqldb
$ del *.class;*
$ javac -cp 'hibpath' T1.java
$ groovy_cp = ".:''hibpath':/javalib/mysql-connector-j-8_0_33.jar"
$ groovy ReadJpa.groovy """mysql"""
$ groovy_cp = ".:''hibpath':/javalib/postgresql-42_5_1.jar"
$ groovy ReadJpa.groovy """pgsql"""
$ groovy_cp = ".:''hibpath':/javalib/ojdbc8.jar"
$ groovy ReadJpa.groovy """ora"""
$ groovy_cp = ".:''hibpath':/javalib/db2jcc4.jar:/javalib/db2policy.jar"
$ groovy ReadJpa.groovy """db2"""
$ groovy_cp = ".:''hibpath':/javalib/mssql-jdbc-12_2_0_jre8.jar"
$ groovy ReadJpa.groovy """mssql"""
$ groovy_cp = ".:''hibpath':/javalib/sqlite-jdbc-3_47_2_0.jar:/javalib/sqlite-dialect-0_1_4.jar"
$ groovy ReadJpa.groovy """sqlite"""
$ groovy_cp = ".:''hibpath':/javalib/derby.jar"
$ groovy ReadJpa.groovy """derby"""
$ groovy_cp = ".:''hibpath':/javalib/h2-2_2_220.jar"
$ groovy ReadJpa.groovy """h2"""
$ groovy_cp = ".:''hibpath':/javalib/hsqldb.jar"
$ groovy ReadJpa.groovy """hsqldb"""
$ jython_libs_prefix = hibpath + ":"
$ define/nolog jython_libs "/javalib/mysql-connector-j-8_0_33.jar"
$ jython ReadJpa.py """mysql"""
$ define/nolog jython_libs "/javalib/postgresql-42_5_1.jar"
$ jython ReadJpa.py """pgsql"""
$ define/nolog jython_libs "/javalib/ojdbc8.jar"
$ jython ReadJpa.py """ora"""
$ define/nolog jython_libs "/javalib/db2jcc4.jar:/javalib/db2policy.jar"
$ jython ReadJpa.py """db2"""
$ define/nolog jython_libs "/javalib/mssql-jdbc-12_2_0_jre8.jar"
$ jython ReadJpa.py """mssql"""
$ define/nolog jython_libs "/javalib/sqlite-jdbc-3_47_2_0.jar:/javalib/sqlite-dialect-0_1_4.jar"
$ jython ReadJpa.py """sqlite"""
$ define/nolog jython_libs "/javalib/derby.jar"
$ jython ReadJpa.py """derby"""
$ define/nolog jython_libs "/javalib/h2-2_2_220.jar"
$ jython ReadJpa.py """h2"""
$ define/nolog jython_libs "/javalib/hsqldb.jar"
$ jython ReadJpa.py """hsqldb"""
$ exit

persistence.xml:

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
             version="2.0">
   <persistence-unit name="mysql">
      <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
      <class>T1</class>
      <exclude-unlisted-classes/>
      <properties>
          <property name="hibernate.show_sql" value="false"/>
          <property name="hibernate.connection.driver_class" value="com.mysql.cj.jdbc.Driver"/>
          <property name="hibernate.connection.url" value="jdbc:mysql://arnepc5/Test"/>
          <property name="hibernate.connection.username" value="arne"/>
          <property name="hibernate.connection.password" value="hemmeligt"/>
          <property name="hibernate.connection.pool_size" value="5"/>
          <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>
      </properties>
   </persistence-unit>
   <persistence-unit name="pgsql">
      <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
      <class>T1</class>
      <exclude-unlisted-classes/>
      <properties>
          <property name="hibernate.show_sql" value="false"/>
          <property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
          <property name="hibernate.connection.url" value="jdbc:postgresql://arnepc5/Test"/>
          <property name="hibernate.connection.username" value="postgres"/>
          <property name="hibernate.connection.password" value="hemmeligt"/>
          <property name="hibernate.connection.pool_size" value="5"/>
          <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
      </properties>
   </persistence-unit>
   <persistence-unit name="ora">
      <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
      <class>T1</class>
      <exclude-unlisted-classes/>
      <properties>
          <property name="hibernate.show_sql" value="false"/>
          <property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/>
          <property name="hibernate.connection.url" value="jdbc:oracle:thin:arne/hemmeligt@//arnepc5/Test"/>
          <property name="hibernate.connection.pool_size" value="5"/>
          <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
      </properties>
   </persistence-unit>
   <persistence-unit name="db2">
      <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
      <class>T1</class>
      <exclude-unlisted-classes/>
      <properties>
          <property name="hibernate.show_sql" value="false"/>
          <property name="hibernate.connection.driver_class" value="com.ibm.db2.jcc.DB2Driver"/>
          <property name="hibernate.connection.url" value="jdbc:db2://arnepc5:25000/Test"/>
          <property name="hibernate.connection.username" value="arne"/>
          <property name="hibernate.connection.password" value="hemmeligt"/>
          <property name="hibernate.connection.pool_size" value="5"/>
          <property name="hibernate.dialect" value="org.hibernate.dialect.DB2Dialect"/>
      </properties>
   </persistence-unit>
   <persistence-unit name="mssql">
      <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
      <class>T1</class>
      <exclude-unlisted-classes/>
      <properties>
          <property name="hibernate.show_sql" value="false"/>
          <property name="hibernate.connection.driver_class" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
          <property name="hibernate.connection.url" value="jdbc:sqlserver://arnepc5;database=Test;integratedSecurity=false;encrypt=false;"/>
          <property name="hibernate.connection.username" value="sa"/>
          <property name="hibernate.connection.password" value="hemmeligt"/>
          <property name="hibernate.connection.pool_size" value="5"/>
          <property name="hibernate.dialect" value="org.hibernate.dialect.SQLServer2008Dialect"/>
      </properties>
   </persistence-unit>
   <persistence-unit name="sqlite">
      <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
      <class>T1</class>
      <exclude-unlisted-classes/>
      <properties>
          <property name="hibernate.show_sql" value="false"/>
          <property name="hibernate.connection.driver_class" value="org.sqlite.JDBC"/>
          <property name="hibernate.connection.url" value="jdbc:sqlite:test.db"/>
          <property name="hibernate.connection.pool_size" value="5"/>
          <property name="hibernate.dialect" value="org.sqlite.hibernate.dialect.SQLiteDialect"/>
      </properties>
   </persistence-unit>
   <persistence-unit name="derby">
      <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
      <class>T1</class>
      <exclude-unlisted-classes/>
      <properties>
          <property name="hibernate.show_sql" value="false"/>
          <property name="hibernate.connection.driver_class" value="org.apache.derby.jdbc.EmbeddedDriver"/>
          <property name="hibernate.connection.url" value="jdbc:derby:directory:test"/>
          <property name="hibernate.connection.pool_size" value="5"/>
          <property name="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/>
      </properties>
   </persistence-unit>
   <persistence-unit name="h2">
      <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
      <class>T1</class>
      <exclude-unlisted-classes/>
      <properties>
          <property name="hibernate.show_sql" value="false"/>
          <property name="hibernate.connection.driver_class" value="org.h2.Driver"/>
          <property name="hibernate.connection.url" value="jdbc:h2:file:./test;FILE_LOCK=FS"/>
          <property name="hibernate.connection.pool_size" value="5"/>
          <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
      </properties>
   </persistence-unit>
   <persistence-unit name="hsqldb">
      <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
      <class>T1</class>
      <exclude-unlisted-classes/>
      <properties>
          <property name="hibernate.show_sql" value="false"/>
          <property name="hibernate.connection.driver_class" value="org.hsqldb.jdbc.JDBCDriver"/>
          <property name="hibernate.connection.url" value="jdbc:hsqldb:file:test;shutdown=true"/>
          <property name="hibernate.connection.username" value="sa"/>
          <property name="hibernate.connection.password" value=""/>
          <property name="hibernate.connection.pool_size" value="5"/>
          <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
      </properties>
   </persistence-unit>
</persistence>

readdbapi.com:

$ define/nolog sqlitejdbc disk2:[arne.sqlite]sqlitejdbc.exe
$ define/nolog jython_libs "/javalib/zxjdbc.jar:/javalib/mysql-connector-j-8_0_33.jar"
$ jython ReadDbApi.py """com.mysql.cj.jdbc.Driver""" """jdbc:mysql://arnepc5/Test""" """arne""" """hemmeligt"""
$ define/nolog jython_libs "/javalib/zxjdbc.jar:/javalib/postgresql-42_5_1.jar"
$ jython ReadDbApi.py """org.postgresql.Driver""" """jdbc:postgresql://arnepc5/Test""" """postgres""" """hemmeligt"""
$ define/nolog jython_libs "/javalib/zxjdbc.jar:/javalib/ojdbc8.jar"
$ jython ReadDbApi.py """oracle.jdbc.OracleDriver""" """jdbc:oracle:thin:@//arnepc5/Test""" """arne""" """hemmeligt"""
$ define/nolog jython_libs "/javalib/zxjdbc.jar:/javalib/db2jcc4.jar:/javalib/db2policy.jar"
$ jython ReadDbApi.py """com.ibm.db2.jcc.DB2Driver""" """jdbc:db2://arnepc5:25000/Test""" """arne""" """hemmeligt"""
$ define/nolog jython_libs "/javalib/zxjdbc.jar:/javalib/mssql-jdbc-12_2_0_jre8.jar"
$ jython ReadDbApi.py """com.microsoft.sqlserver.jdbc.SQLServerDriver""" """jdbc:sqlserver://arnepc5;database=Test;integratedSecurity=false;encrypt=false;""" """sa""" """hemmeligt"""
$ define/nolog jython_libs "/javalib/zxjdbc.jar:/javalib/sqlite-jdbc-3_47_2_0.jar"
$ jython ReadDbApi.py """org.sqlite.JDBC""" """jdbc:sqlite:test.db"""
$ define/nolog jython_libs "/javalib/zxjdbc.jar:/javalib/derby.jar"
$ jython ReadDbApi.py """org.apache.derby.jdbc.EmbeddedDriver""" """jdbc:derby:directory:test"""
$ define/nolog jython_libs "/javalib/zxjdbc.jar:/javalib/h2-2_2_220.jar"
$ jython ReadDbApi.py """org.h2.Driver""" """jdbc:h2:file:./test;FILE_LOCK=FS"""
$ define/nolog jython_libs "/javalib/zxjdbc.jar:/javalib/hsqldb.jar"
$ jython ReadDbApi.py """org.hsqldb.jdbc.JDBCDriver""" """jdbc:hsqldb:file:test;shutdown=true""" """sa""" """"""
$ exit

pjbs.com:

$ set def disk2:[arne.art.jdbc]
$ @disk0:[net.sqlite.sqlite3_vms_051]setup
$ define/nolog sqlitejdbc disk2:[arne.sqlite]sqlitejdbc.exe
$ java -cp /javalib/pjbs.jar:'p1' "Server" "''p2'" 'p3'
$ exit

runpjbs.com:

$ submit/noprint/notify/log=[arne.art.jdbc] pjbs.com /param=("/javalib/mysql-connector-j-8_0_33.jar","com.mysql.cj.jdbc.Driver",9001)
$ submit/noprint/notify/log=[arne.art.jdbc] pjbs.com /param=("/javalib/postgresql-42_5_1.jar","org.postgresql.Driver",9002)
$ submit/noprint/notify/log=[arne.art.jdbc] pjbs.com /param=("/javalib/ojdbc8.jar","oracle.jdbc.OracleDriver",9003)
$ submit/noprint/notify/log=[arne.art.jdbc] pjbs.com /param=("/javalib/db2jcc4.jar:/javalib/db2policy.jar","com.ibm.db2.jcc.DB2Driver",9004)
$ submit/noprint/notify/log=[arne.art.jdbc] pjbs.com /param=("/javalib/mssql-jdbc-12_2_0_jre8.jar","com.microsoft.sqlserver.jdbc.SQLServerDriver",9005)
$ submit/noprint/notify/log=[arne.art.jdbc] pjbs.com /param=("/javalib/sqlite-jdbc-3_47_2_0.jar","org.sqlite.JDBC",9006)
$ submit/noprint/notify/log=[arne.art.jdbc] pjbs.com /param=("/javalib/derby.jar","org.apache.derby.jdbc.EmbeddedDriver",9007)
$ submit/noprint/notify/log=[arne.art.jdbc] pjbs.com /param=("/javalib/h2-2_2_220.jar","org.h2.Driver",9008)
$ submit/noprint/notify/log=[arne.art.jdbc] pjbs.com /param=("/javalib/hsqldb.jar","org.hsqldb.jdbc.JDBCDriver",9009)
$ exit

readpjbs.com:

$ php ReadPjbs.php 9001 false jdbc:mysql://arnepc5/Test arne hemmeligt
$ php ReadPjbs.php 9002 false jdbc:postgresql://arnepc5/Test postgres hemmeligt
$ php ReadPjbs.php 9003 true jdbc:oracle:thin:arne/hemmeligt@//arnepc5/Test arne hemmeligt
$ php ReadPjbs.php 9004 true jdbc:db2://arnepc5:25000/Test arne hemmeligt
$ php ReadPjbs.php 9005 false jdbc:sqlserver://arnepc5;database=Test;integratedSecurity=false;encrypt=false; sa hemmeligt
$ php ReadPjbs.php 9006 false jdbc:sqlite:test.db
$ php ReadPjbs.php 9007 true jdbc:derby:directory:test
$ php ReadPjbs.php 9008 true jdbc:h2:file:./test;FILE_LOCK=FS
$ php ReadPjbs.php 9009 true jdbc:hsqldb:file:test;shutdown=true sa ""
$ python ReadPjbs.py 9001 false jdbc:mysql://arnepc5/Test arne hemmeligt
$ python ReadPjbs.py 9002 false jdbc:postgresql://arnepc5/Test postgres hemmeligt
$ python ReadPjbs.py 9003 true jdbc:oracle:thin:arne/hemmeligt@//arnepc5/Test arne hemmeligt
$ python ReadPjbs.py 9004 true jdbc:db2://arnepc5:25000/Test arne hemmeligt
$ python ReadPjbs.py 9005 false jdbc:sqlserver://arnepc5;database=Test;integratedSecurity=false;encrypt=false; sa hemmeligt
$ python ReadPjbs.py 9006 false jdbc:sqlite:test.db
$ python ReadPjbs.py 9007 true jdbc:derby:directory:test
$ python ReadPjbs.py 9008 true jdbc:h2:file:./test;FILE_LOCK=FS
$ python ReadPjbs.py 9009 true jdbc:hsqldb:file:test;shutdown=true sa ""
$ exit

readdbapi2.com:

$ python ReadDbApi2.py 9001 jdbc:mysql://arnepc5/Test arne hemmeligt
$ python ReadDbApi2.py 9002 jdbc:postgresql://arnepc5/Test postgres hemmeligt
$ python ReadDbApi2.py 9003 jdbc:oracle:thin:arne/hemmeligt@//arnepc5/Test arne hemmeligt
$ python ReadDbApi2.py 9004 jdbc:db2://arnepc5:25000/Test arne hemmeligt
$ python ReadDbApi2.py 9005 jdbc:sqlserver://arnepc5;database=Test;integratedSecurity=false;encrypt=false; sa hemmeligt
$ python ReadDbApi2.py 9006 jdbc:sqlite:test.db
$ python ReadDbApi2.py 9007 jdbc:derby:directory:test
$ python ReadDbApi2.py 9008 jdbc:h2:file:./test;FILE_LOCK=FS
$ python ReadDbApi2.py 9009 jdbc:hsqldb:file:test;shutdown=true sa ""
$ exit

VMS Alpha with Java 5:

cre.com:

$ del test.db;*
$ pipe sqlite test.db < cre.sql
$ set prot=(o:rwed) test.dir,[.test...]*.dir
$ del [.test...]*.*;* /excl=*.dir
$ del [.test...]*.*;*
$ del test.dir;*
$ java -cp /javalib/derbytools.jar:/javalib/derby.jar "org.apache.derby.tools.ij" cre_derby.sql
$ del test^.h2.db;*
$ pipe java -cp /javalib/h2-1_2_147.jar "org.h2.tools.Shell" -url "jdbc:h2:file:./test;FILE_LOCK=FS" < cre.sql
$ del test.properties;*
$ del test.script;*
$ set prot=(o:rwed) test^.tmp.dir
$ del test^.tmp.dir;*
$ pipe java -jar /javalib/sqltool.jar "--driver=org.hsqldb.jdbc.JDBCDriver" "--inlineRc=url=jdbc:hsqldb:file:test;shutdown=true" < cre_hsqldb.sql
$ exit

readjdbc.com:

$ define/nolog java$filename_controls 8
$ define/nolog decc$efs_charset true
$ javac ReadJdbc.java
$ java -cp .:/javalib/mysql-connector-java-5_1_36-bin.jar "ReadJdbc" "com.mysql.jdbc.Driver" jdbc:mysql://localhost/test root ""
$!!!! java -cp .:/javalib/postgresql-9_3-1103-jdbc3.jar "ReadJdbc" "org.postgresql.Driver" jdbc:postgresql://arnepc5/Test postgres hemmeligt
$ java -cp .:/javalib/ojdbc5.jar "ReadJdbc" "oracle.jdbc.OracleDriver" jdbc:oracle:thin:arne/hemmeligt@//arnepc5/Test
$ java -cp .:/javalib/sqljdbc-4_0_2206.jar "ReadJdbc" "com.microsoft.sqlserver.jdbc.SQLServerDriver" jdbc:sqlserver://arnepc5;database=Test;integratedSecurity=false;encrypt=false; sa hemmeligt
$ java -cp .:/javalib/rdbthinv5.jar "ReadJdbc" "oracle.rdb.jdbc.rdbThin.Driver" "jdbc:rdbThin://localhost:1701/dka4:[rdb]test" arne hemmeligt
$ java -cp .:/javalib/mimjdbc3.jar "ReadJdbc" "com.mimer.jdbc.Driver" "jdbc:mimer://SYSADM:hemmeligt@localhost/test"
$ java -cp .:/javalib/sqlite-jdbc-3_14_1-vms.jar "ReadJdbc" "org.sqlite.JDBC" jdbc:sqlite:test.db
$ java -cp .:/javalib/derby.jar "ReadJdbc" "org.apache.derby.jdbc.EmbeddedDriver" jdbc:derby:directory:test
$ java -cp .:/javalib/h2-1_2_147.jar "ReadJdbc" "org.h2.Driver" "jdbc:h2:file:./test;FILE_LOCK=FS"
$ java -cp .:/javalib/hsqldb.jar "ReadJdbc" "org.hsqldb.jdbc.JDBCDriver" jdbc:hsqldb:file:test;shutdown=true
$ del *.class;*
$ groovy_cp = "/javalib/mysql-connector-java-5_1_36-bin.jar"
$ groovy ReadJdbc.groovy """com.mysql.jdbc.Driver""" """jdbc:mysql://localhost/Test""" """root""" """"""
$ groovy_cp = "/javalib/postgresql-9_3-1103-jdbc3.jar
$!!!! groovy ReadJdbc.groovy """org.postgresql.Driver""" """jdbc:postgresql://arnepc5/Test""" """postgres""" """hemmeligt"""
$ groovy_cp = "/javalib/ojdbc5.jar"
$ groovy ReadJdbc.groovy """oracle.jdbc.OracleDriver""" """jdbc:oracle:thin:arne/hemmeligt@//arnepc5/Test"""
$ groovy_cp = "/javalib/sqljdbc-4_0_2206.jar"
$ groovy ReadJdbc.groovy """com.microsoft.sqlserver.jdbc.SQLServerDriver""" """jdbc:sqlserver://arnepc5;database=Test;integratedSecurity=false;encrypt=false;""" """sa""" """hemmeligt"""
$ groovy_cp = "/javalib/rdbthinv5.jar"
$ groovy ReadJdbc.groovy """oracle.rdb.jdbc.rdbThin.Driver""" """jdbc:rdbThin://localhost:1701/dka4:[rdb]test""" arne hemmeligt
$ groovy_cp = "/javalib/mimjdbc3.jar"
$ groovy ReadJdbc.groovy """com.mimer.jdbc.Driver""" """jdbc:mimer://SYSADM:hemmeligt@localhost/test"""
$ groovy_cp = "/javalib/sqlite-jdbc-3_14_1-vms.jar"
$ groovy ReadJdbc.groovy """org.sqlite.JDBC""" """jdbc:sqlite:test.db"""
$ groovy_cp = "/javalib/derby.jar"
$ groovy ReadJdbc.groovy """org.apache.derby.jdbc.EmbeddedDriver""" """jdbc:derby:directory:test"""
$ groovy_cp = "/javalib/h2-1_2_147.jar"
$ groovy ReadJdbc.groovy """org.h2.Driver""" """jdbc:h2:file:./test;FILE_LOCK=FS"""
$ groovy_cp = "/javalib/hsqldb.jar"
$ groovy ReadJdbc.groovy """org.hsqldb.jdbc.JDBCDriver""" """jdbc:hsqldb:file:test;shutdown=true"""
$ define/nolog jython_libs "/javalib/mysql-connector-java-5_1_36-bin.jar"
$ jython ReadJdbc.py """com.mysql.jdbc.Driver""" """jdbc:mysql://localhost/Test""" """root""" """"""
$ define/nolog jython_libs "/javalib/postgresql-9_3-1103-jdbc3.jar"
$!!!! jython ReadJdbc.py """org.postgresql.Driver""" """jdbc:postgresql://arnepc5/Test""" """postgres""" """hemmeligt"""
$ define/nolog jython_libs "/javalib/ojdbc5.jar"
$ jython ReadJdbc.py """oracle.jdbc.OracleDriver""" """jdbc:oracle:thin:@//arnepc5/Test""" """arne""" """hemmeligt"""
$ define/nolog jython_libs "/javalib/sqljdbc-4_0_2206.jar"
$ jython ReadJdbc.py """com.microsoft.sqlserver.jdbc.SQLServerDriver""" """jdbc:sqlserver://arnepc5;database=Test;integratedSecurity=false;encrypt=false;""" """sa""" """hemmeligt"""
$ define/nolog jython_libs "/javalib/rdbthinv5.jar"
$ jython ReadJdbc.py """oracle.rdb.jdbc.rdbThin.Driver""" """jdbc:rdbThin://localhost:1701/dka4:[rdb]test""" arne hemmeligt
$ define/nolog jython_libs "/javalib/mimjdbc3.jar"
$ jython ReadJdbc.py """com.mimer.jdbc.Driver""" """jdbc:mimer://SYSADM:hemmeligt@localhost/test"""
$ define/nolog jython_libs "/javalib/sqlite-jdbc-3_14_1-vms.jar"
$ jython ReadJdbc.py """org.sqlite.JDBC""" """jdbc:sqlite:test.db"""
$ define/nolog jython_libs "/javalib/derby.jar"
$ jython ReadJdbc.py """org.apache.derby.jdbc.EmbeddedDriver""" """jdbc:derby:directory:test"""
$ define/nolog jython_libs "/javalib/h2-1_2_147.jar"
$ jython ReadJdbc.py """org.h2.Driver""" """jdbc:h2:file:./test;FILE_LOCK=FS"""
$ define/nolog jython_libs "/javalib/hsqldb.jar"
$ jython ReadJdbc.py """org.hsqldb.jdbc.JDBCDriver""" """jdbc:hsqldb:file:test;shutdown=true"""
$ exit

readjpa.com:

$ define/nolog java$filename_controls 8
$ define/nolog decc$efs_charset true
$ hibpath = "/javalib/antlr-2_7_6.jar:/javalib/cglib-2_2.jar:/javalib/commons-collections-3_1.jar:/javalib/dom4j-1_6_1.jar:/javalib/hibernate-jpa-2_0-api-1_0_0_final.jar:/javalib/hibernate3.jar:/javalib/javassist-3_12_0_ga.jar:/javalib/jta-1_1.jar:/javalib/slf4j-api-1_6_1.jar:/javalib/slf4j-jdk14-1_6_1.jar"
$ javac -cp 'hibpath' T1.java ReadJpa.java
$ java -cp .:'hibpath':/javalib/mysql-connector-java-5_1_36-bin.jar "ReadJpa" mysql
$!!!! java -cp .:'hibpath':/javalib/postgresql-9_3-1103-jdbc3.jar "ReadJpa" pgsql
$ java -cp .:'hibpath':/javalib/ojdbc5.jar "ReadJpa" ora
$ java -cp .:'hibpath':/javalib/sqljdbc-4_0_2206.jar "ReadJpa" mssql
$ java -cp .:'hibpath':/javalib/rdbthinv5.jar:/javalib/rdbhib.jar "ReadJpa" rdb
$ java -cp .:'hibpath':/javalib/mimjdbc3.jar "ReadJpa" mimer
$ java -cp .:'hibpath':/javalib/sqlite-jdbc-3_14_1-vms.jar:/javalib/sqlitehib.jar "ReadJpa" sqlite
$ java -cp .:'hibpath':/javalib/derby.jar "ReadJpa" derby
$ java -cp .:'hibpath':/javalib/h2-1_2_147.jar "ReadJpa" h2
$ java -cp .:'hibpath':/javalib/hsqldb.jar "ReadJpa" hsqldb
$ del *.class;*
$ javac -cp 'hibpath' T1.java
$ groovy_cp = ".:''hibpath':/javalib/mysql-connector-java-5_1_36-bin.jar"
$ groovy ReadJpa.groovy """mysql"""
$ groovy_cp = ".:''hibpath':/javalib/postgresql-9_3-1103-jdbc3.jar"
$!!!! groovy ReadJpa.groovy """pgsql"""
$ groovy_cp = ".:''hibpath':/javalib/ojdbc5.jar"
$ groovy ReadJpa.groovy """ora"""
$ groovy_cp = ".:''hibpath':/javalib/sqljdbc-4_0_2206.jar"
$ groovy ReadJpa.groovy """mssql"""
$ groovy_cp = ".:''hibpath':/javalib/rdbthinv5.jar:/javalib/rdbhib.jar"
$ groovy ReadJpa.groovy """rdb"""
$ groovy_cp = ".:''hibpath':/javalib/mimjdbc3.jar"
$ groovy ReadJpa.groovy """mimer"""
$ groovy_cp = ".:''hibpath':/javalib/sqlite-jdbc-3_14_1-vms.jar:/javalib/sqlitehib.jar"
$ groovy ReadJpa.groovy """sqlite"""
$ groovy_cp = ".:''hibpath':/javalib/derby.jar"
$ groovy ReadJpa.groovy """derby"""
$ groovy_cp = ".:''hibpath':/javalib/h2-1_2_147.jar"
$ groovy ReadJpa.groovy """h2"""
$ groovy_cp = ".:''hibpath':/javalib/hsqldb.jar"
$ groovy ReadJpa.groovy """hsqldb"""
$ jython_libs_prefix = hibpath + ":"
$ define/nolog jython_libs "/javalib/mysql-connector-java-5_1_36-bin.jar"
$ jython ReadJpa.py """mysql"""
$ define/nolog jython_libs "/javalib/postgresql-9_3-1103-jdbc3.jar"
$!!!! jython ReadJpa.py """pgsql"""
$ define/nolog jython_libs "/javalib/ojdbc5.jar"
$ jython ReadJpa.py """ora"""
$ define/nolog jython_libs "/javalib/sqljdbc-4_0_2206.jar"
$ jython ReadJpa.py """mssql"""
$ define/nolog jython_libs "/javalib/rdbthinv5.jar:/javalib/rdbhib.jar"
$ jython ReadJpa.py """rdb"""
$ define/nolog jython_libs "/javalib/mimjdbc3.jar"
$ jython ReadJpa.py """mimer"""
$ define/nolog jython_libs "/javalib/sqlite-jdbc-3_14_1-vms.jar:/javalib/sqlitehib.jar"
$ jython ReadJpa.py """sqlite"""
$ define/nolog jython_libs "/javalib/derby.jar"
$ jython ReadJpa.py """derby"""
$ define/nolog jython_libs "/javalib/h2-1_2_147.jar"
$ jython ReadJpa.py """h2"""
$ define/nolog jython_libs "/javalib/hsqldb.jar"
$ jython ReadJpa.py """hsqldb"""
$ exit

persistence.xml:

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
             version="2.0">
   <persistence-unit name="mysql">
      <provider>org.hibernate.ejb.HibernatePersistence</provider>
      <class>T1</class>
      <exclude-unlisted-classes/>
      <properties>
          <property name="hibernate.show_sql" value="false"/>
          <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
          <property name="hibernate.connection.url" value="jdbc:mysql://localhost/Test"/>
          <property name="hibernate.connection.username" value="root"/>
          <property name="hibernate.connection.password" value=""/>
          <property name="hibernate.connection.pool_size" value="5"/>
          <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>
      </properties>
   </persistence-unit>
<!--
   <persistence-unit name="pgsql">
      <provider>org.hibernate.ejb.HibernatePersistence</provider>
      <class>T1</class>
      <exclude-unlisted-classes/>
      <properties>
          <property name="hibernate.show_sql" value="false"/>
          <property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
          <property name="hibernate.connection.url" value="jdbc:postgresql://arnepc5/Test"/>
          <property name="hibernate.connection.username" value="postgres"/>
          <property name="hibernate.connection.password" value="hemmeligt"/>
          <property name="hibernate.connection.pool_size" value="5"/>
          <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
      </properties>
   </persistence-unit>
-->
   <persistence-unit name="ora">
      <provider>org.hibernate.ejb.HibernatePersistence</provider>
      <class>T1</class>
      <exclude-unlisted-classes/>
      <properties>
          <property name="hibernate.show_sql" value="false"/>
          <property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/>
          <property name="hibernate.connection.url" value="jdbc:oracle:thin:arne/hemmeligt@//arnepc5/Test"/>
          <property name="hibernate.connection.pool_size" value="5"/>
          <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
      </properties>
   </persistence-unit>
   <persistence-unit name="mssql">
      <provider>org.hibernate.ejb.HibernatePersistence</provider>
      <class>T1</class>
      <exclude-unlisted-classes/>
      <properties>
          <property name="hibernate.show_sql" value="false"/>
          <property name="hibernate.connection.driver_class" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
          <property name="hibernate.connection.url" value="jdbc:sqlserver://arnepc5;database=Test;integratedSecurity=false;encrypt=false;"/>
          <property name="hibernate.connection.username" value="sa"/>
          <property name="hibernate.connection.password" value="hemmeligt"/>
          <property name="hibernate.connection.pool_size" value="5"/>
          <property name="hibernate.dialect" value="org.hibernate.dialect.SQLServer2008Dialect"/>
      </properties>
   </persistence-unit>
   <persistence-unit name="rdb">
      <provider>org.hibernate.ejb.HibernatePersistence</provider>
      <class>T1</class>
      <exclude-unlisted-classes/>
      <properties>
          <property name="hibernate.show_sql" value="false"/>
          <property name="hibernate.connection.driver_class" value="oracle.rdb.jdbc.rdbThin.Driver"/>
          <property name="hibernate.connection.url" value="jdbc:rdbThin://localhost:1701/dka4:[rdb]test"/>
          <property name="hibernate.connection.username" value="arne"/>
          <property name="hibernate.connection.password" value="hemmeligt"/>
          <property name="hibernate.connection.pool_size" value="5"/>
          <property name="hibernate.dialect" value="org.hibernate.dialect.RdbDialect"/>
      </properties>
   </persistence-unit>
   <persistence-unit name="mimer">
      <provider>org.hibernate.ejb.HibernatePersistence</provider>
      <class>T1</class>
      <exclude-unlisted-classes/>
      <properties>
          <property name="hibernate.show_sql" value="false"/>
          <property name="hibernate.connection.driver_class" value="com.mimer.jdbc.Driver"/>
          <property name="hibernate.connection.url" value="jdbc:mimer://SYSADM:hemmeligt@localhost/test"/>
          <property name="hibernate.connection.pool_size" value="5"/>
          <property name="hibernate.dialect" value="org.hibernate.dialect.MimerSQLDialect"/>
      </properties>
   </persistence-unit>
   <persistence-unit name="sqlite">
      <provider>org.hibernate.ejb.HibernatePersistence</provider>
      <class>T1</class>
      <exclude-unlisted-classes/>
      <properties>
          <property name="hibernate.show_sql" value="false"/>
          <property name="hibernate.connection.driver_class" value="org.sqlite.JDBC"/>
          <property name="hibernate.connection.url" value="jdbc:sqlite:test.db"/>
          <property name="hibernate.connection.pool_size" value="5"/>
          <property name="hibernate.dialect" value="org.hibernate.dialect.SQLiteDialect"/>
      </properties>
   </persistence-unit>
   <persistence-unit name="derby">
      <provider>org.hibernate.ejb.HibernatePersistence</provider>
      <class>T1</class>
      <exclude-unlisted-classes/>
      <properties>
          <property name="hibernate.show_sql" value="false"/>
          <property name="hibernate.connection.driver_class" value="org.apache.derby.jdbc.EmbeddedDriver"/>
          <property name="hibernate.connection.url" value="jdbc:derby:directory:test"/>
          <property name="hibernate.connection.pool_size" value="5"/>
          <property name="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/>
      </properties>
   </persistence-unit>
   <persistence-unit name="h2">
      <provider>org.hibernate.ejb.HibernatePersistence</provider>
      <class>T1</class>
      <exclude-unlisted-classes/>
      <properties>
          <property name="hibernate.show_sql" value="false"/>
          <property name="hibernate.connection.driver_class" value="org.h2.Driver"/>
          <property name="hibernate.connection.url" value="jdbc:h2:file:./test;FILE_LOCK=FS"/>
          <property name="hibernate.connection.pool_size" value="5"/>
          <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
      </properties>
   </persistence-unit>
   <persistence-unit name="hsqldb">
      <provider>org.hibernate.ejb.HibernatePersistence</provider>
      <class>T1</class>
      <exclude-unlisted-classes/>
      <properties>
          <property name="hibernate.show_sql" value="false"/>
          <property name="hibernate.connection.driver_class" value="org.hsqldb.jdbc.JDBCDriver"/>
          <property name="hibernate.connection.url" value="jdbc:hsqldb:file:test;shutdown=true"/>
          <property name="hibernate.connection.username" value="sa"/>
          <property name="hibernate.connection.password" value=""/>
          <property name="hibernate.connection.pool_size" value="5"/>
          <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
      </properties>
   </persistence-unit>
</persistence>

readdbapi.com:

$ define/nolog java$filename_controls 8
$ define/nolog decc$efs_charset true
$ define/nolog jython_libs "/javalib/zxjdbc.jar:/javalib/mysql-connector-java-5_1_36-bin.jar"
$ jython ReadDbApi.py """com.mysql.jdbc.Driver""" """jdbc:mysql://localhost/Test""" """root""" """"""
$ define/nolog jython_libs "/javalib/zxjdbc.jar:/javalib/postgresql-9_3-1103-jdbc3.jar"
$!!!! jython ReadDbApi.py """org.postgresql.Driver""" """jdbc:postgresql://arnepc5/Test""" """postgres""" """hemmeligt"""
$ define/nolog jython_libs "/javalib/zxjdbc.jar:/javalib/ojdbc5.jar"
$ jython ReadDbApi.py """oracle.jdbc.OracleDriver""" """jdbc:oracle:thin:@//arnepc5/Test""" """arne""" """hemmeligt"""
$ define/nolog jython_libs "/javalib/zxjdbc.jar:/javalib/sqljdbc-4_0_2206.jar"
$ jython ReadDbApi.py """com.microsoft.sqlserver.jdbc.SQLServerDriver""" """jdbc:sqlserver://arnepc5;database=Test;integratedSecurity=false;encrypt=false;""" """sa""" """hemmeligt"""
$ define/nolog jython_libs "/javalib/zxjdbc.jar:/javalib/rdbthinv5.jar"
$ jython ReadDbApi.py """oracle.rdb.jdbc.rdbThin.Driver""" """jdbc:rdbThin://localhost:1701/dka4:[rdb]test""" """arne""" """hemmeligt"""
$ define/nolog jython_libs "/javalib/zxjdbc.jar:/javalib/mimjdbc3.jar"
$ jython ReadDbApi.py """com.mimer.jdbc.Driver""" """jdbc:mimer://SYSADM:hemmeligt@localhost/test"""
$ define/nolog jython_libs "/javalib/zxjdbc.jar:/javalib/sqlite-jdbc-3_14_1-vms.jar"
$ jython ReadDbApi.py """org.sqlite.JDBC""" """jdbc:sqlite:test.db"""
$ define/nolog jython_libs "/javalib/zxjdbc.jar:/javalib/derby.jar"
$ jython ReadDbApi.py """org.apache.derby.jdbc.EmbeddedDriver""" """jdbc:derby:directory:test"""
$ define/nolog jython_libs "/javalib/zxjdbc.jar:/javalib/h2-1_2_147.jar"
$ jython ReadDbApi.py """org.h2.Driver""" """jdbc:h2:file:./test;FILE_LOCK=FS"""
$ define/nolog jython_libs "/javalib/zxjdbc.jar:/javalib/hsqldb.jar"
$ jython ReadDbApi.py """org.hsqldb.jdbc.JDBCDriver""" """jdbc:hsqldb:file:test;shutdown=true""" """sa""" """"""
$ exit

pjbs.com:

$ set def disk2:[arne.art.jdbc]
$ define/nolog java$filename_controls 8
$ define/nolog decc$efs_charset true
$ java -cp /javalib/pjbs.jar:'p1' "Server" "''p2'" 'p3'
$ exit

runpjbs.com:

$ submit/noprint/notify/log=[arne.art.jdbc] pjbs.com /param=("/javalib/mysql-connector-java-5_1_36-bin.jar","com.mysql.jdbc.Driver",9001)
$!!!! submit/noprint/notify/log=[arne.art.jdbc] pjbs.com /param=("/javalib/postgresql-9_3-1103-jdbc3.jar","org.postgresql.Driver",9002)
$ submit/noprint/notify/log=[arne.art.jdbc] pjbs.com /param=("/javalib/ojdbc5.jar","oracle.jdbc.OracleDriver",9003)
$ submit/noprint/notify/log=[arne.art.jdbc] pjbs.com /param=("/javalib/sqljdbc-4_0_2206.jar","com.microsoft.sqlserver.jdbc.SQLServerDriver",9005)
$ submit/noprint/notify/log=[arne.art.jdbc] pjbs.com /param=("/javalib/sqlite-jdbc-3_14_1-vms.jar","org.sqlite.JDBC",9006)
$ submit/noprint/notify/log=[arne.art.jdbc] pjbs.com /param=("/javalib/derby.jar","org.apache.derby.jdbc.EmbeddedDriver",9007)
$ submit/noprint/notify/log=[arne.art.jdbc] pjbs.com /param=("/javalib/h2-1_2_147.jar","org.h2.Driver",9008)
$ submit/noprint/notify/log=[arne.art.jdbc] pjbs.com /param=("/javalib/hsqldb.jar","org.hsqldb.jdbc.JDBCDriver",9009)
$ submit/noprint/notify/log=[arne.art.jdbc] pjbs.com /param=("/javalib/rdbthinv5.jar","oracle.rdb.jdbc.rdbThin.Driver",9010)
$ submit/noprint/notify/log=[arne.art.jdbc] pjbs.com /param=("/javalib/mimjdbc3.jar","com.mimer.jdbc.Driver",9011)
$ exit

readpjbs.com:

$ php ReadPjbs.php 9001 false jdbc:mysql://localhost/Test root ""
$!!!! php ReadPjbs.php 9002 false jdbc:postgresql://arnepc5/Test postgres hemmeligt
$ php ReadPjbs.php 9003 true jdbc:oracle:thin:arne/hemmeligt@//arnepc5/Test arne hemmeligt
$ php ReadPjbs.php 9005 false jdbc:sqlserver://arnepc5;database=Test;integratedSecurity=false;encrypt=false; sa hemmeligt
$ php ReadPjbs.php 9010 true jdbc:rdbThin://localhost:1701/dka4:[rdb]test arne hemmeligt
$ php ReadPjbs.php 9011 true jdbc:mimer://SYSADM:hemmeligt@localhost/test
$ php ReadPjbs.php 9006 false jdbc:sqlite:test.db
$ php ReadPjbs.php 9007 true jdbc:derby:directory:test
$ php ReadPjbs.php 9008 true jdbc:h2:file:./test;FILE_LOCK=FS
$ php ReadPjbs.php 9009 true jdbc:hsqldb:file:test;shutdown=true sa ""
$ python ReadPjbs.py 9001 false jdbc:mysql://localhost/Test root ""
$!!!! python ReadPjbs.py 9002 false jdbc:postgresql://arnepc5/Test postgres hemmeligt
$ python ReadPjbs.py 9003 true jdbc:oracle:thin:arne/hemmeligt@//arnepc5/Test arne hemmeligt
$ python ReadPjbs.py 9005 false jdbc:sqlserver://arnepc5;database=Test;integratedSecurity=false;encrypt=false; sa hemmeligt
$ python ReadPjbs.py 9010 true jdbc:rdbThin://localhost:1701/dka4:[rdb]test arne hemmeligt
$ python ReadPjbs.py 9011 true jdbc:mimer://SYSADM:hemmeligt@localhost/test
$ python ReadPjbs.py 9006 false jdbc:sqlite:test.db
$ python ReadPjbs.py 9007 true jdbc:derby:directory:test
$ python ReadPjbs.py 9008 true jdbc:h2:file:./test;FILE_LOCK=FS
$ python ReadPjbs.py 9009 true jdbc:hsqldb:file:test;shutdown=true sa ""
$ exit

readdbapi2.com:

$ python ReadDbApi2.py 9001 jdbc:mysql://localhost/Test root ""
$!!!! python ReadDbApi2.py 9002 jdbc:postgresql://arnepc5/Test postgres hemmeligt
$ python ReadDbApi2.py 9003 jdbc:oracle:thin:arne/hemmeligt@//arnepc5/Test arne hemmeligt
$ python ReadDbApi2.py 9005 jdbc:sqlserver://arnepc5;database=Test;integratedSecurity=false;encrypt=false; sa hemmeligt
$ python ReadDbApi2.py 9010 jdbc:rdbThin://localhost:1701/dka4:[rdb]test arne hemmeligt
$ python ReadDbApi2.py 9011 jdbc:mimer://SYSADM:hemmeligt@localhost/test
$ python ReadDbApi2.py 9006 jdbc:sqlite:test.db
$ python ReadDbApi2.py 9007 jdbc:derby:directory:test
$ python ReadDbApi2.py 9008 jdbc:h2:file:./test;FILE_LOCK=FS
$ python ReadDbApi2.py 9009 jdbc:hsqldb:file:test;shutdown=true sa ""
$ exit

Article history:

Version Date Description
1.0 January 26th 2025 Initial version

Other articles:

See list of all articles here

Comments:

Please send comments to Arne Vajhøj