Super Driver

EXPERIMENTAL

Should not be used for production use (see git link).

  • https://bitbucket.org/litmis/db2sock — install instructions this site
    • Attach:libdb400-latest.zip - download pre-compiled test version
    • (See Experimental language drivers bottom page for node db2a driver, etc.)
  • change log
    • libdb400–1.1.4-sg15 (2018–03–12 12:42)
      • toolkit array s records error packed/zoned (Brian)
    • libdb400–1.1.4-sg14 (2018–03–07 16:53)
      • toolkit add json db2 query meta functions (statistics, tables, procedures, etc.)
    • libdb400–1.1.4-sg13 (2018–03–07 12:37)
      • toolkit - more dou zero count miss begin array empty (Brian)
    • libdb400–1.1.4-sg12 (2018–03–06 16:15)
      • toolkit - try again dou value zero ds array (Danny)
    • libdb400–1.1.4-sg11 (2018–03–06 12:16)
      • toolkit - dou zero value ds (Danny)
    • libdb400–1.1.4-sg10 (2018–03–05 15:05)
      • toolkit - added input round packed/zoned
    • libdb400–1.1.4-sg9 (2018–02–28 13:05)
      • toolkit - Parsing an output json with hole parameter fails (Halmela)
    • libdb400–1.1.4-sg8 (2018–02–28 11:38)
      • toolkit - more packed and zoned too large input (Halmela)
    • libdb400–1.1.4-sg7 (2018–02–27 16:45)
      • toolkit - Buffer with garbage could cause problems (Halmela)
    • libdb400–1.1.4-sg6 (2018–02–27 15:51)
      • toolkit - Do not make db connection when using in memory call (Halmela)
    • libdb400–1.1.4-sg5 (2018–02–27 14:36)
      • toolkit - Crash when parsing a big json file (Halmela)
    • libdb400–1.1.4-sg4 (2018–02–27 11:59)
      • toolkit - Packed/zoned decimals not working correctly (Halmela)
    • libdb400–1.1.4-sg2 (2018–02–26 09:15)
      • db2 driver - re-saved because original wrong name zip file (said 1.1.1-sg2, but really was 1.1.4-sg2)
    • libdb400–1.1.4-sg2 (2018–02–21 15:44)
      • db2 driver - remove dead code PASE libdb400.a dependencies
    • libdb400–1.1.4-sg1 (2018–02–21 15:13)
      • db2 driver - remove old PASE libdb400.a dependencies (also fix leak json call)
    • libdb400–1.1.3-sg7 (2018–02–13 15:20)
      • toolkit remote stored proc db2prob (blob i/o) and db2probr (blob hex result set) - ccsid convert on client (laptop, pase, etc)
    • libdb400–1.1.3-sg6 (2018–02–12 17:19)
      • php web fix (Hamela)
    • libdb400–1.1.3-sg3 (2018–02–07 15:37)
      • toolkit more test json work
    • libdb400–1.1.3-sg2 (2018–02–07 14:44)
      • toolkit remote db2procj/db2procjr joblog without SQL400Json (see test4000_sql400json_procj and test5000_sql400json_procjr)
    • libdb400–1.1.3-sg1 (2018–02–07 11:30)
      • toolkit testing db2procj and db2projr (remote stored proc interface)
    • libdb400–1.1.2-sg9 (2018–02–06 17:22)
      • toolkit remote db2procjr various differences (Jesse G.)
    • libdb400–1.1.2-sg8 (2018–02–05 14:17)
      • toolkit fetch pagination always include SQL_NO_DATA_FOUND mark last record close (query)
    • libdb400–1.1.2-sg7 (2018–02–05 13:16)
      • toolkit fix negative numbers (hamela07)
    • libdb400–1.1.2-sg6 (2018–01–29 15:42)
      • toolkit test json escape values from RPG (partial, full, none escaped)
    • libdb400–1.1.2-sg5 (2018–01–24 11:32)
      • toolkit add in memory call PGM/SRVPGM/CMD (not rexx-rtvjoba or qsh)
    • libdb400–1.1.2-sg4 (2018–01–17 14:02)
      • toolkit remove extra “inputDS” when “by”:”in” (Danny R)
    • libdb400–1.1.2-sg3 (2018–01–17 10:54)
      • toolkit “dou”:”label” fix count equal zero (Danny R)
    • libdb400–1.1.2-sg2 (2018–01–16 17:19)
      • toolkit ‘async’ join (try again)
    • libdb400–1.1.2-sg1 (2018–01–16 15:01)
      • toolkit reap tests async SQL400JsonAsync used php ibm_db2 (test2000..)
    • libdb400–1.1.1-sg10 (2018–01–15 17:14)
      • toolkit fix dob “s” array zero terminate output
    • libdb400–1.1.1-sg9 (2018–01–15 15:54)
      • toolkit add output dou and dob “s” data array (Danny R)
    • libdb400–1.1.1-sg8 (2018–01–15 13:18)
      • toolkit added escape for json strings returned (Danny R)
    • libdb400–1.1.1-sg6 (2018–01–09 12:11)
      • toolkit json data “noconv”:”in|out|both” (Sebastian Misiewicz)
    • libdb400–1.1.1-sg6 (2018–01–08 16:20)
      • toolkit add “by”:”in” remove output (Danny Roessner)
    • libdb400–1.1.1-sg5 (2018–01–08 14:58)
      • toolkit json change return empty string to “” (not {})
    • libdb400–1.1.1-sg4 (2018–01–03 10:03)
      • toolkit json parser fix keyword in value position (Halmela)
    • libdb400–1.1.1-sg3 (2018–01–02 16:38)
      • toolkit add early close function (pagination)
    • libdb400–1.1.1-sg2 (2017–12–21 15:05)
      • toolkit pagination of json db2 requests (see tests/php)
    • libdb400–1.1.1-sg1 (2017–12–20 13:36)
      • toolkit more records joblog with error
    • libdb400–1.1.0-sg9 (2017–12–15 11:02)
      • toolkit more work on qsh for new line
    • libdb400–1.1.0-sg8 (2017–12–14 17:11)
      • toolkit add qsh command processing
    • libdb400–1.1.0-sg7 (2017–12–14 12:14)
      • toolkit finish cmd i/o rexx errors, plus escape single quote cmds
    • libdb400–1.1.0-sg6 (2017–12–13 16:22)
      • toolkit added rexx for command I/O (RTVJOBA)
    • libdb400–1.1.0-sg5 (2017–12–06 11:15)
      • toolkit full db2 json driver (incomplete)
    • libdb400–1.1.0-sg4 (2017–11–28 15:30)
      • change git project directory structure
    • libdb400–1.1.0-sg3 (2017–11–27 16:51)
      • toolkit ILE-TOOLKIT-JSON toolkit db2jsonngix fix unix domain sock name-1 len (nginx)
    • libdb400–1.1.0-sg2 (2017–11–27 12:32)
      • toolkit ILE-TOOLKIT-JSON toolkit add nginx fastscgi config (db2jsonngix)
    • libdb400–1.1.0-sg1 (2017–11–21 11:57)
      • toolkit ILE-TOOLKIT-JSON toolkit ILE CGI interface rest performance (incomplete)
    • libdb400–1.0.9-sg12 (2017–11–16 16:34)
      • toolkit ILE-TOOLKIT-JSON provide json test with errorcode to demo setlen bytesavail (Format ERRC0100)
    • libdb400–1.0.9-sg11 (2017–11–16 15:50)
      • toolkit ILE-TOOLKIT-JSON add ds calculate setlen for errcode_t bytesavail style system MI structures
    • libdb400–1.0.9-sg10 (2017–11–16 12:09)
      • toolkit ILE-TOOLKIT-JSON move json tests to tests_json (from tests_c)
    • libdb400–1.0.9-sg9 (2017–11–15 16:46)
      • toolkit ILE-TOOLKIT-JSON dob ds blank/zero early termination array record last empty [] (easy client parse)
    • libdb400–1.0.9-sg8 (2017–11–15 15:47)
      • toolkit ILE-TOOLKIT-JSON clean-up related dob blank/zero (RPG init 0×40)
    • libdb400–1.0.9-sg7 (2017–11–15 15:19)
      • toolkit ILE-TOOLKIT-JSON dob fix length check for blank numeric (RPG 0×40 initialized number)
    • libdb400–1.0.9-sg6 (2017–11–15 14:41)
      • toolkit ILE-TOOLKIT-JSON allow dos control dob for blank(+) and/or zero(-) check end array early (RPG init 0×40 or 0×00)
    • libdb400–1.0.9-sg5 (2017–11–15 12:35)
      • toolkit ILE-TOOLKIT-JSON fix dou and dob char 2 int issue
    • libdb400–1.0.9-sg4 (2017–11–15 11:33)
      • toolkit ILE-TOOLKIT-JSON more dob array stop at 0×404040 (uninitialized RPG ds dim helper)
    • libdb400–1.0.9-sg3 (2017–11–14 17:16)
      • toolkit ILE-TOOLKIT-JSON add dob array default blank/zero element output end array performance (zero record stop)
    • libdb400–1.0.9-sg2 (2017–11–13 15:13)
      • toolkit ILE-TOOLKIT-JSON db2proch add result set row hack for bad odbc drivers (DEADBEEF)
    • libdb400–1.0.9-sg1 (2017–11–08 16:41)
      • toolkit ILE-TOOLKIT-JSON add json dou:label for subset array performance
    • libdb400–1.0.8-sg4 (2017–11–02 16:51)
      • toolkit ILE-TOOLKIT-JSON change allow ILE variant char in json
    • libdb400–1.0.8-sg3 (2017–11–01 14:29)
      • toolkit ILE-TOOLKIT-JSON enable debugpgm for db2proc qsysopr message
    • libdb400–1.0.8-sg2 (2017–11–01 11:12)
      • toolkit ILE-TOOLKIT-JSON enable json debug message QSYSOPR for db2procj and db2procjr
    • libdb400–1.0.8-sg1 (2017–10–27 10:09)
      • toolkit ILE-TOOLKIT-JSON enable json remote db2procj (in/out) or db2procjr (result set)
    • libdb400–1.0.7-sg7 (2017–10–19 16:36)
      • toolkit ILE-TOOLKIT-JSON linux remote call stored proc to SQL400Json
    • libdb400–1.0.7-sg6 (2017–10–18 14:59)
      • toolkit samples for user custom call PGM and SRVPGM ILE-PROC-USER
    • libdb400–1.0.7-sg5 (2017–10–18 12:31)
      • toolkit more clean up reduce code gen ILE-PROC
    • libdb400–1.0.7-sg4 (2017–10–18 11:59)
      • toolkit reduce code gen ILE-PROC
    • libdb400–1.0.7-sg3 (2017–10–17 16:59)
      • toolkit crazy9 RPG assorted pass by value types (see source tests_ILE-RPG directory)
    • libdb400–1.0.7-sg2 (2017–10–17 14:05)
      • toolkit pass by value user edit db2user (see source ILE-PROC directory)
    • libdb400–1.0.7-sg1 (2017–10–12 16:13)
      • toolkit start of pass by value (incomplete)
    • libdb400–1.0.6-sg2 (2017–10–06 12:11)
      • toolkit hamela05 clean up code for ds multi-nested-ds-array
    • libdb400–1.0.6-sg1 (2017–10–05 18:22)
      • toolkit hamela05 fix nested ds was core dumping
      • toolkit add support for nopass
    • libdb400–1.0.5-sg9 (2017–10–01 14:07)
      • toolkit hamela04 occurs 500 output json interface (still seems slow test — performance work to do)
    • libdb400–1.0.5-sg8 (2017–10–01 13:41)
      • toolkit fix hamela04 occurs 500 (still very slow test)
    • libdb400–1.0.5-sg7 (2017–09–29 11:22)
      • toolkit fix hamela03 occurs complex parms test (parser k→count)
    • libdb400–1.0.5-sg6 (2017–09–28 15:25)
      • toolkit fix exotic array element setting j0171_pgm_hamela02-ds-set_input_array
    • libdb400–1.0.5-sg5 (2017–09–27 16:34)
      • toolkit output json added ds array of array of records for easier client parsing
    • libdb400–1.0.5-sg4 (2017–09–27 14:43)
      • fix for ds dim(20) - hamela01
      • added tests_c compiled tests to zip file (dir included)
      • version test (./tests_c/test9999_driver_version32)
    • libdb400–1.0.5-sg3 (2017–09–26 12:21)
      • more toolkit restructure
    • libdb400–1.0.5-sg1 (2017–09–22 11:59)
      • major restructure of toolkit and sql400json (see tests_c in bitbucket project toolkit incomplete)
    • libdb400–1.0.4-sg1 (2017–06–29 16:25)
      • iCall400 correct name ds structures and return aggregates (toolkit incomplete)
    • libdb400–1.0.4 (2017–06–29 16:03)
      • iCall400 ds structures and return aggregates (toolkit incomplete)
    • libdb400–1.0.3 (2017–06–29 11:05)
      • iCall400 tests hello world PGM and SRVPGM call (toolkit incomplete)
    • libdb400–1.0.2-sg1 (2017–06–28 14:52)
      • blob call to db2proc.srvpgm.iCall400 (toolkit incomplete)
    • libdb400–1.0.2 (2017–06–27 17:03)
      • change to multiple objects libdb400.a (db2 cli driver), libtkit400.a (toolkit-incomplete), libjson400.a (json parse toolkit-incomplete)
    • libdb400–1.0.1-sg18 (2017–05–23)
      • switch to test chroot /QOpenSys/db2sock (see test install instructions CGI, fastcgi in git project above)
    • libdb400–1.0.1-sg16 (2017–05–17)
      • minor changes to libdb400.a
      • added fastcgi interface db2jsonfcgi (see README_FASTCGI.md)
      • changed to all c project (see README_CGI.md)
    • libdb400–1.0.1-sg15 (2017–04–28)
      • fix json bad parsing error (very bad)
      • add json cmd request (CHGLIBL
    • libdb400–1.0.1-sg14 (2017–04–28)
      • fix json output format
    • libdb400–1.0.1-sg13 (2017–04–28)
      • fix json loop in fetch
    • libdb400–1.0.1-sg12 (2017–04–28)
      • fix json output numbers
      • trim json output char
    • libdb400–1.0.1-sg11 (2017–04–27)
      • working on pconnect
      • web Apache db2json.rpgle set TRACE=on (pconnect test)
        • fast trace /tmp/lib…, but not for benchmarks (word to wise)
    • libdb400–1.0.1-sg10 (2017–04–26)
      • added db2json - RPG CGI Apache configuration to libdb400.a with json in/out protocol (see db2json/tests example REST ‘Basic Auth’ IBM i Apache)
      • misc fixes for async (see db2sock/tests callback and join)
    • libdb400–1.0.1-sg9 (2017–04–21)
      • removed many APIs SQL400 — rework in progress
      • removed json — rework in progress
      • added any CCSID (used under php ok)
      • added env var TRACE=on/off option (see git progect)
    • libdb400–1.0.1-sg8 (latest - not work yet) - (2016–09–01)
      • Note: Not working well for non-1208 CCSID (819, etc.)
    • libdb400–1.0.1-sg7 (previous) - (2016–09–01)
    • libdb400–1.0.1-sg6 (previous) - (2016–07–28)

Experimental language drivers

If you want to try node 6 db2a driver with toolkit and toolkitSync with db2sock (above)

  • https://bitbucket.org/litmis/db2sock/issues/10/db2sock-toolkit — install instructions this issue (db2sock issue)
    • Attach:nodejs-idb-connector-db2sock-latest.zip - download pre-compiled test version
      • 2018–03–06 15:19 - Added Danny 30MB size (up from 15MB test version)
      • 2018–03–05 14:04 - Added Danny 15MB size (up from 5MB test version)
    • install
      save original (one time only):
      > cp /QOpenSys/QIBM/ProdData/OPS/Node6/./os400/db2i/bin/db2ia.node /QOpenSys/QIBM/ProdData/OPS/Node6/./os400/db2i/bin/db2ia.node-save
      replace version (many times):
      > cp db2ia.node /QOpenSys/QIBM/ProdData/OPS/Node6/os400/db2i/bin/db2ia.node
      
    • Attach:libstdc++.zip - download additional gcc binaries (libgcc_s.a libstdc++.a)
    • install
      Install (libstdc++.zip):
      /opt/freeware/lib/libgcc_s.a
      /opt/freeware/lib/libstdc++.a
      

Author(s)

Tony “Ranger” Cairns - IBM i PHP / PASE