home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.os.vms      DEC's VAX* line of computers & VMS.      264,096 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 262,253 of 264,096   
   =?UTF-8?Q?Arne_Vajh=C3=B8j?= to All   
   Re: SQLite JDBC on VMS x86-64   
   12 Jan 25 19:12:15   
   
   From: arne@vajhoej.dk   
      
   On 1/12/2025 2:20 PM, Arne Vajhøj wrote:   
   > On 1/11/2025 10:46 PM, Arne Vajhøj wrote:   
   >> On 1/11/2025 5:24 PM, Arne Vajhøj wrote:   
   >>> This is a little HOWTO.   
   >>>   
   >>> 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   
   >>>   
   >>> 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   
   >>   
   >> And have a logical sqlitejdbc pointing to sqlitejdbc.EXE   
   >   
   > It is "or" not "and". Either the logical or the define.   
   > But the logical is preferable as the define can be tricky   
   > with other JVM languages.   
   >   
   > And for those that prefer JPA and JPQL over JDBC and SQL,   
   > then out of the box Hibernate 5.6 and the SQLite dialect from   
   > https://mvnrepository.com/artifact/com.github.gwenn/sqlite-dialect   
   > works fine.   
      
   Note that the SQLite JDBC driver despite being latest version   
   is still far behind regarding JDBC driver functions.   
      
   con = args.length >= 3   
          ? DriverManager.getConnection(args[0], args[1], args[2])   
          : DriverManager.getConnection(args[0])   
   dbmd = con.getMetaData()   
   printf("%s %s\n", dbmd.getDatabaseProductName(),   
   dbmd.getDatabaseProductVersion())   
   printf("%s %s\n", dbmd.getDriverName(), dbmd.getDriverVersion())   
   ...   
   printf("Numeric functions = %s\n", dbmd.getNumericFunctions())   
   printf("String functions = %s\n", dbmd.getStringFunctions())   
   printf("TimeDate functions = %s\n", dbmd.getTimeDateFunctions())   
   printf("System functions = %s\n", dbmd.getSystemFunctions())   
      
   MySQL 8.0.33   
   MySQL Connector/J mysql-connector-j-8.0.33 (Revision:   
   7d6b0800528b6b25c68b52dc10d6c1c8429c100c)   
   ...   
   Numeric functions =   
   ABS,ACOS,ASIN,ATAN,ATAN2,BIT_COUNT,CEILING,COS,COT,DEGREES,EXP,F   
   OOR,LOG,LOG10,MAX,MIN,MOD,PI,POW,POWER,RADIANS,   
   RAND,ROUND,SIN,SQRT,TAN,TRUNCATE   
   String functions =   
   ASCII,BIN,BIT_LENGTH,CHAR,CHARACTER_LENGTH,CHAR_LENGTH,CONCAT,CO   
   CAT_WS,CONV,ELT,EXPORT_SET,FIELD,FIND_IN_SET,HEX,INSERT,INSTR,LC   
   SE,LEFT,LENGTH,LOAD_FILE,LOCATE,LOCATE,LOWER,LPAD,LTRIM,MAKE_SET   
   MATCH,MID,OCT,OCTET_LENGTH,ORD,POSITION,QUOTE,REPEAT,   
   REPLACE,REVERSE,RIGHT,RPAD,RTRIM,SOUNDEX,SPACE,STRCMP,SUBSTRING,   
   UBSTRING,SUBSTRING,SUBSTRING,SUBSTRING_INDEX,TRIM,UCASE,UPPER   
   TimeDate functions =   
   DAYOFWEEK,WEEKDAY,DAYOFMONTH,DAYOFYEAR,MONTH,DAYNAME,MONTHNAME,Q   
   ARTER,WEEK,YEAR,HOUR,MINUTE,SECOND,PERIOD_ADD,PERIOD_DIFF,TO_DAY   
   ,FROM_DAYS,DATE_FORMAT,TIME_FORMAT,CURDATE,CURRENT_DATE,CURTIME,   
   URRENT_TIME,NOW,SYSDATE,CURRENT_TIMESTAMP,UNIX_TIMESTAMP,   
   FROM_UNIXTIME,SEC_TO_TIME,TIME_TO_SEC   
   System functions =   
   DATABASE,USER,SYSTEM_USER,SESSION_USER,PASSWORD,ENCRYPT,LAST_INSERT_ID,VERSION   
      
   SQLite 3.47.2   
   SQLite JDBC 3.47.2.0   
   ...   
   Numeric functions =   
   String functions =   
   TimeDate functions = DATE,TIME,DATETIME,JULIANDAY,STRFTIME   
   System functions =   
      
   But given that almost noone use JDBC driver functions, then it is not   
   a huge problem.   
      
   Arne   
      
   --- SoupGate-DOS v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca