Sujet : Re: SQLite JDBC on VMS x86-64
De : arne (at) *nospam* vajhoej.dk (Arne Vajhøj)
Groupes : comp.os.vmsDate : 12. Jan 2025, 02:49:48
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vlv73s$rhfa$1@dont-email.me>
References : 1 2
User-Agent : Mozilla Thunderbird
On 1/11/2025 8:12 PM, Lawrence D'Oliveiro wrote:
On Sat, 11 Jan 2025 17:24:52 -0500, Arne Vajhøj wrote:
When running your JVM language application just put the JDBC har in
classpath and define java.library.path to point to directory with
sqlitejdbc.EXE.
Isn’t there a more direct way yet, to access the world’s most popular
DBMS from Java?
<https://developer.android.com/reference/android/database/sqlite/package-summary>
Not really.
The context put some constraints on the options.
SQLite is an embedded database. SQLite is written in C.
The only way for Java to ensure 100% compatibility with native
code is to have the Java code call the same C code. That
means the JDBC driver will include native code (type 2 driver).
The application programmer do not care about the implementation
only about the API. Most Java code use the JDBC API or an
ORM on top of JDBC. Android additionally offers an Android
specific API.
But the implementation is still needed. Out of the box
driver comes with:
org/sqlite/native/Mac/x86_64/libsqlitejdbc.dylib
org/sqlite/native/Mac/aarch64/libsqlitejdbc.dylib
org/sqlite/native/Linux/armv7/libsqlitejdbc.so
org/sqlite/native/Linux/arm/libsqlitejdbc.so
org/sqlite/native/Linux/x86_64/libsqlitejdbc.so
org/sqlite/native/Linux/riscv64/libsqlitejdbc.so
org/sqlite/native/Linux/x86/libsqlitejdbc.so
org/sqlite/native/Linux/ppc64/libsqlitejdbc.so
org/sqlite/native/Linux/armv6/libsqlitejdbc.so
org/sqlite/native/Linux/aarch64/libsqlitejdbc.so
org/sqlite/native/Linux-Musl/x86_64/libsqlitejdbc.so
org/sqlite/native/Linux-Musl/x86/libsqlitejdbc.so
org/sqlite/native/Linux-Musl/aarch64/libsqlitejdbc.so
org/sqlite/native/Windows/armv7/sqlitejdbc.dll
org/sqlite/native/Windows/x86_64/sqlitejdbc.dll
org/sqlite/native/Windows/x86/sqlitejdbc.dll
org/sqlite/native/Windows/aarch64/sqlitejdbc.dll
org/sqlite/native/FreeBSD/x86_64/libsqlitejdbc.so
org/sqlite/native/FreeBSD/x86/libsqlitejdbc.so
org/sqlite/native/FreeBSD/aarch64/libsqlitejdbc.so
org/sqlite/native/Linux-Android/arm/libsqlitejdbc.so
org/sqlite/native/Linux-Android/x86_64/libsqlitejdbc.so
org/sqlite/native/Linux-Android/x86/libsqlitejdbc.so
org/sqlite/native/Linux-Android/aarch64/libsqlitejdbc.so
so people on those platforms do not need to do anything.
OpenVMS did not make the cut. So we need to find
a way to provide that native module for VMS.
Builds for VMS Alpha and VMS Itanium have been available
for years, but I have not seen anything for VMS x86-64,
so I created something.
It must be the same for that Android specific API. Google
just make sure the native piece is there.
If the database is a database server or written in Java, then
the JDBC driver can be made all Java (type 4 driver) and
life is easier because same driver can be used everywhere.
Arne