Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

ibm_db

ibmdb53.2kMIT3.3.0TypeScript support: definitely-typed

IBM DB2 and IBM Informix bindings for node

node, odbc, db2, driver

readme

node-ibm_db

An asynchronous/synchronous interface for node.js to IBM DB2 and IBM Informix. Async APIs return promises if callback function is not used. Async APIs supports async-await programming style.

  • Supported Platforms - Windows64, MacOS64, MacARM64, Linuxx64, Linuxia32, AIX, Linux on IBM Z, Linux on Power PC and z/OS.

  • MacOS with Silicon Chip - Supported from ibm_db@3.3.0 onwards using v12.x clidriver.

  • MacOS with Intel Chip - Supported using v11.x clidriver only. By default v11.5.9 clidriver will get downloaded.

  • ibm_db v3.2.5 is the last version to use clidriver of version 11.5.9 by default. **ibm_db@3.3.0** onwards v12.1.x clidriver get autodownloaded by default and hence v12.1 db2connect license is required. However, user can use older db2connect license when ibm_db get installed using npm install ibm_db -clidriver="v11.5.9" command.

  • SQL1598N Error - It is expected in absence of valid db2connect license. Please click here and read instructions.

  • GSKit Error - Check instructions as documented here.

API Documentation

  • For complete list of ibm_db APIs and example, please check APIDocumentation.md

  • For Secure Database connection using SSL/TSL: Check here.

  • Got an issue? Need Help? : Check common issues and suggestion here.

Prerequisite

  • Make sure your system has C++ compiler installed that support C++11 standard.

  • For non-windows platforms: gcc compiler version >= 8.4, python3, nodejs and make is required to install ibm_db. Default compiler on RHEL 6 does not have the required support. Install a newer compiler or upgrade older one.

  • Other required system libraries for Linux OS are: libcrypt, libpam, libxml2, libstdc++, libc, libgcc, libaudit, libeconf, libz, liblzma and libcap-ng. These libraries should come by default with OS. If it is not present in your system, please install it.

  • UBI9 has deprecated libcrypt. You need to install libcrypt and libxcrypt-compat on UBI9 manually.

  • For Windows: compiler is optional as ibm_db comes with pre-compiled binary on Windows64 for node.js version >= 14.x. To compile code on Windows, VC++ 2015.3 v14.00 (v140) or Visual Studio version >= 2017 is required.

  • Python version >= 3.8.0 is required by node-gyp. For z/OS, Python 2.7.13 or higher, but lower than Python 3.0, is required.

  • For Docker Linux Container: make sure you have installed make, gcc, g++(gcc-c++), python3.9 and node before installing ibm_db. For root user, use npm install --unsafe-perm ibm_db to install ibm_db.

  • While installing ibm_db under a container, if you get libcrypt error, add a line in your scrip to install libcrypt and libxcrypt-compat as this library is not present in most of the container OS. f.e. add a line like below in docker script: RUN apt-get update && apt-get install gcc g++ libcrypt libxcrypt-compat python3 make -y

  • For Windows Subsystem for Linux (WSL): Install build-essentials package before installing ibm_db.

  • For MacOS: Install XCode from appstore before installing ibm_db. Also, gcc@8 and make is required.

  • On distributed platforms, you do need not to install any Db2 ODBC client driver for connectivity. ibm_db itself downloads and installs an odbc/cli driver from IBM website during installation. Just install ibm_db and it is ready for use.

  • On z/OS, ODBC driver support is part of IBM Db2 for z/OS 11.0 and 12.0. Please ensure IBM Db2 for z/OS 11.0 or 12.0 is installed on your given LPAR. Ensure you follow the instructions to configure your ODBC driver here.

  • On z/OS and other non-Windows platform, GNU make is required to install ibm_db. Execute make -v command before installing ibm_db to make sure you have correct make set in PATH.

  • On z/OS only certain versions of node-gyp are supported. This was tested with:
    z/OS v2.4 Db2 v12.0 node-gyp 3.4.0
    npm 3.10.10
    ibm_db: 2.8.1

  • Recommended version of node.js is >= V16.X. For node.js version < 14.X and ibm_db version > 2.4.1, Visual Studio is required to install ibm_db on Windows.

  • For Node.js >= V15.x on RHEL and RHEL 8.x, GCC v8.2.1 is required.

  • The latest node.js version using which ibm_db is tested: 23.2.0

Install

You may install the package using npm install command:

npm install ibm_db

You may install ibm_db in quiet mode using either of below commands:

npm install --quiet ibm_db
npm install -q ibm_db

You may install ibm_db in silent mode using either of below commands:

npm install --silent ibm_db
npm install -s ibm_db

When using ibm_db in a package.json file, you can set below environment variables to install ibm_db in --quiet or --silent mode:

export npm_config_loglevel=warn   => For quiet mode installation.
export npm_config_loglevel=silent => For silent mode installation.

For ELECTRON or VSCode Installation:

npm install ibm_db -electron=<electron_version>
npm install ibm_db -electron="25.9.2"
npm install ibm_db -vscode

To install using specific version of clidriver from https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/:

npm install ibm_db -clidriver=<version>
npm install ibm_db -clidriver=v11.1.4
npm install ibm_db -clidriver=v11.5.6

For Docker Linux Container, use below commands:

yum install make gcc gcc-c++ kernel-devel openssl-devel bzip2-devel
install python3.x
install node.js
npm install --unsafe-perm ibm_db

Alpine Linux is not supported by ibm_db as it is an arm64 architecture.

  • npm install ibm_db internally downloads and install platform specific clidriver of recent release from here. To avoid this download, you can manually download clidriver from this location or install any verison of IBM Data Server Driver Package or Db2 Client or Sever in your system and point the install directory using IBM_DB_HOME environment variable. If IBM_DB_HOME or IBM_DB_INSTALLER_URL is set, npm install ibm_db do not download clidriver.

  • ibm_db works with all supported versions of Db2 Client and Server. Instead of using open source driver specific clidriver for ibm_db, you may download and install DSDRIVER or DB2Client from IBM Fix Central or IBM Passport Advantage of Db2 V11.1.0.0 onwards.

  • If IBM_DB_HOME or IBM_DB_INSTALLER_URL is not set, ibm_db always downloads open source driver specific clidriver and use it. Ignores any other installation.

For more installation details please refer: INSTALLATION GUIDE

If installation fails while downloading clidriver, follow instructions as documented here.

Validate your installation

  • Update database connection info in node_modules\ibm_db\test\config.json file.
  • Run node node_modules\ibm_db\test\test-basic-test.js command.

Important Environment Variables and Download Essentials

IBM_DB_HOME :

  • USE:

    • On distributed platforms, set this environment variable if you want to avoid downloading of clidriver from the IBM Hosted URL or from the internet.
    • On z/OS, set this environment variable to the High Level Qualifier (HLQ) of your Db2 datasets. During npm install, the module will automatically reference ODBC driver header files under: $IBM_DB_HOME.SDSNC.H and the sidedeck definitions in $IBM_DB_HOME.SDSNMACS(DSNAO64C) to build the node binding.
  • HOW:

    • On distributed platforms, set IBM_DB_HOME environment variable to a pre-installed db2 client or server installation directory.
    • On z/OS, set IBM_DB_HOME environment variable to the High Level Qualifier (HLQ) of your Db2 datasets. For example, if your Db2 datasets are located as DSNC10.SDSNC.H and DSNC10.SDSNMACS, you need to set IBM_DB_HOME environment variable to DSNC10 with the following statement (can be saved in ~/.profile):

IBM_DB_INSTALLER_URL :

  • USE:

    • Set this environment variable to by-pass the IBM Hosted URL for downloading odbc/clidriver.
  • HOW:

    • Set IBM_DB_INSTALLER_URL environment variable with alternate odbc/clidriver downloading URL link or with locally downloaded "tar/zipped clidriver's parent directory path.
  • TIP:

    • If you don't have alternate hosting URL then, you can download the tar/zipped file of clidriver from the IBM Hosted URL and can set the IBM_DB_INSTALLER_URL environment variable to the downloaded "tar/zipped clidriver's" parent directory path. No need to untar/unzip the clidriver and do not change the name of downloaded file.

DOWNLOAD_CLIDRIVER :

  • USE:

    • Set this environment variable to force downloading of odbc/clidriver. If clidriver is already present, existing clidriver will get deleted. If IBM_DB_HOME environment variable is set, still clidriver will get downloaded by ignoring value of IBM_DB_HOME.
  • HOW:

    • On distributed platforms, Set DOWNLOAD_CLIDRIVER environment variable to true to force downloading of clidriver from IBM hosted URL. Never set DOWNLOAD_CLIDRIVER on z/OS system.

Download clidriver (based on your platform & architecture) from the below IBM Hosted URL:

DOWNLOAD CLI DRIVER

Cli Drivers for Specific Platform and Architecture

Platform Architecture Cli Driver Supported
AIX ppc aix32_odbc_cli.tar.gz Yes
| others aix64_odbc_cli.tar.gz Yes
Darwin x64 macos64_odbc_cli.tar.gz Till v11.5.9
Darwin arm64 macarm64_odbc_cli.tar.gz From v12.1.0
Linux x64 linuxx64_odbc_cli.tar.gz Yes
| s390x s390x64_odbc_cli.tar.gz Yes
| s390 s390_odbc_cli.tar.gz Yes
| ppc64 (LE) ppc64le_odbc_cli.tar.gz Yes
| ppc64 ppc64_odbc_cli.tar.gz Yes
| ppc32 ppc32_odbc_cli.tar.gz Yes
| others linuxia32_odbc_cli.tar.gz Yes
Windows x64 ntx64_odbc_cli.zip Yes
| x32 nt32_odbc_cli.zip Not supported with node-ibm_db
z/OS s390x ODBC support from IBM Db2 for z/OS 11.0 or 12.0 Yes

Configure ODBC driver on z/OS

Please refer to the ODBC Guide and References cookbook for how to configure your ODBC driver. Specifically, you need to:

  1. Apply Db2 on z/OS PTF UI60551 to pick up new ODBC functionality to support Node.js applications.

  2. Bind the ODBC packages. A sample JCL is provided in the SDSNSAMP dataset in member DSNTIJCL. Customize the JCL with specifics to your system.

  3. Ensure users that should be authorized have authority to execute the DSNACLI plan. Included are samples granting authority to public (all users), or specific groups via SQL GRANT statements, or alternately via RACF. The security administrator can use these samples as a model and customize/translate to your installation security standards as appropriate.

    Examples using SQL GRANT statement:

    Example 1: Grant the privilege to execute plan DSNACLI to RACF group, DBCLIGRP.

     GRANT EXECUTE ON PLAN DSNACLI TO DBCLIGRP;

    Example 2: Grant the privilege to execute plan DSNACLI to all users at the current server.

     GRANT EXECUTE ON PLAN DSNACLI TO PUBLIC;

    Examples using Access Control Authorization Exit for Db2 authorization:

    Define profile for plan DSNACLI execute privilege check

     RDEFINE MDSNPN DB2A.DSNACLI.EXECUTE UACC(NONE) OWNER(DB2OWNER)

    Example 1: PERMIT the privilege to execute plan DSNACLI to RACF group, DBCLIGRP

     PERMIT DB2A.DSNACLI.EXECUTE ID(DBCLIGRP) ACCESS(READ) CLASS(MDSNPN)

    Example 2: PERMIT the privilege to execute plan DSNACLI to all users at the current server

     PERMIT DB2A.DSNACLI.EXECUTE ID(*) ACCESS(READ) CLASS(MDSNPN)

    Issue SETROPTS command to refresh in-storage profile lists

      SETR RACLIST(MDSNPN) REFRESH
  1. Update the STEPLIB environment variable to include the Db2 SDSNEXIT, SDSNLOAD and SDSNLOD2 data sets. You can set the STEPLIBenvironment variable in your .profile with the following statement, after defining IBM_DB_HOME to the high level qualifier of your Db2 datasets as instructed above:

     # Assumes IBM_DB_HOME specifies the HLQ of the Db2 datasets.
     export STEPLIB=$STEPLIB:$IBM_DB_HOME.SDSNEXIT:$IBM_DB_HOME.SDSNLOAD:$IBM_DB_HOME.SDSNLOD2
  2. Configure an appropriate Db2 ODBC initialization file that can be read at application time. You can specify the file by using either a DSNAOINI data definition statement or by defining a DSNAOINI z/OS UNIX environment variable. For compatibility with ibm_db, the following properties must be set:

    In COMMON section:

     MULTICONTEXT=2
     CURRENTAPPENSCH=ASCII
     FLOAT=IEEE

    In SUBSYSTEM section:

     MVSATTACHTYPE=RRSAF

    Here is a sample of a complete initialization file:

     ; This is a comment line...
     ; Example COMMON stanza
     [COMMON]
     MVSDEFAULTSSID=VC1A
     CONNECTTYPE=1
     MULTICONTEXT=2
     CURRENTAPPENSCH=ASCII
     FLOAT=IEEE
     ; Example SUBSYSTEM stanza for VC1A subsystem
     [VC1A]
     MVSATTACHTYPE=RRSAF
     PLANNAME=DSNACLI
     ; Example DATA SOURCE stanza for STLEC1 data source
     [STLEC1]
     AUTOCOMMIT=1
     CURSORHOLD=1
  3. Please make sure tagging of your odbc.ini file is "binary" or "mixed":

     chtag -b $DSNAOINI
     or
     chtag -m -c IBM-1047 $DSNAOINI

    If file is tagged text (chtag -t -c IBM1047 $DSNAOINI) the S0C4 abend occurs.

    Reference Chapter 3 in the ODBC Guide and References for more instructions.

How to get ibm_db instance?

The simple api is based on the instances of Database class. You may get an instance by one of the following ways:

require("ibm_db").open(connectionString, function (err, conn){
  //conn is already open now if err is falsy
});

or by using the helper function:

var ibmdb = require("ibm_db")();

or by creating an instance with the constructor function:

var Database = require("ibm_db").Database
  , ibmdb = new Database();

Quick Example

var ibmdb = require('ibm_db');
var connStr = "DATABASE=<dbname>;HOSTNAME=<myhost>;UID=db2user;PWD=password;PORT=<dbport>;PROTOCOL=TCPIP";

ibmdb.open(connStr, function (err,conn) {
  if (err) return console.log(err);

  conn.query('select 1 from sysibm.sysdummy1', function (err, data) {
    if (err) console.log(err);
    else console.log(data);

    conn.close(function () {
      console.log('done');
    });
  });
});
ibmdb.open(connStr).then(
    conn => {
      conn.query("select 1 from sysibm.sysdummy1").then(data => {
        console.log(data);
        conn.closeSync();
      }, err => {
        console.log(err);
      });
    }, err => {
      console.log(err)
    }
);
main();
async function main() {
  try {
    let conn = await ibmdb.open(cn);
    await conn.query("drop table mytab").catch((e) => {console.log(e);});
    await conn.query("create table mytab(c1 int, c2 varchar(10))");
    await conn.query("insert into mytab values (?, ?)", [3, 'ibm']);
    let stmt = await conn.prepare("select * from mytab");
    let result = await stmt.execute();
    data = await result.fetchAll();
    console.log("result = ", data);
    await result.close();
    await stmt.close();
    await conn.close();
  } catch(e) {
      console.log(e);
  }
}

Un-Install

npm uninstall ibm_db

OR, just delete the node_modules\ibm_db directory manually from your system.

For z/OS and iSeries Connectivity and SQL1598N error

  • Connection to Db2 for z/OS or Db2 for i(AS400) Server using ibm_db driver from distributed platforms (Linux, Unix, Windows and MacOS) is not free.

  • Connection to Db2 for LUW or Informix Server using ibm_db driver is free.

  • ibm_db returns SQL1598N error in absence of a valid db2connect license. SQL1598N error is returned by the Db2 Server to client. To suppress this error, Db2 server must be activated with db2connectactivate utility OR a client side db2connect license file must exist.

  • Db2connect license can be applied on database server or client side. A db2connect license of version 12.1 is required for ibm_db.

  • If you have db2connect license of Db2 V11.5, then install ibm_db using npm install ibm_db -clidriver=v11.5.9 command or use below commands:

    npm config set clidriver=v11.5.9
    npm install ibm_db
  • Ask your DBA to run db2connectactivate utility on Server to activate db2connect license.

  • If database Server is enabled for db2connect, no need to apply client side db2connect license.

  • If Db2 Server is not db2connectactivated to accept unlimited number of client connection, you must need to apply client side db2connect license.

  • db2connectactivate utility and client side db2connect license both comes together from IBM in a single zip file.

  • Client side db2connect license is a db2con*.lic file that must be copied under clidriver\license directory.

  • User running application must have write permission for clidriver\cfgcache and clidriver\license directories as clidriver need to create binary files to store licensing info in these directories at runtime. Lack of permission to create file too causes SQL1598N error.

  • If you have a db2jcc_license_cisuz.jar file, it will not work for ibm_db. db2jcc_license_cisuz.jar is a db2connect license file for Java Driver. For non-Java Driver, client side db2connect license comes as a file name db2con*.lic.

  • If environment variable IBM_DB_HOME or IBM_DB_INSTALLER_URL is not set, ibm_db automatically downloads open source driver specific clidriver from https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli and save as node_modules\ibm_db\installer\clidriver. Ignores any other installation.

  • If IBM_DB_HOME or IBM_DB_INSTALLER_URL is set, you need to have same version of db2connect license as installed db2 client. Check db2 client version using db2level command to know version of db2connect license required. The license file should get copied under $IBM_DB_HOME\license directory.

  • If you do not have db2connect license, contact IBM Customer Support to buy db2connect license. Find the db2con*.lic file in the db2connect license shared by IBM and copy it under .../node_modules/ibm_db/installer/clidriver/license folder to be effective.

  • To know more about license and purchasing cost, please contact IBM Customer Support.

For AIX install issue

If npm install ibm_db aborts with "Out Of Memory" error on AIX, first run ulimit -d unlimited and then npm install ibm_db.

If installation fails while downloading clidriver

  • If installation of ibm_db fails because ibm_db fails to download *odbccli.tar.gz or *odbccli.zip file, it is most likely that your firewall or VPN configuration is blocking download of this file from internet. In this case, manually download the platform specific clidriver from DOWNLOAD CLI DRIVER or github repo; untar/unzip it, you'll get clidriver directory.

  • Set a system level environment variable IBM_DB_HOME=<full path of clidriver directory> and then run npm install ibm_db.

  • Example for non-Windows:

    export IBM_DB_HOME=/home/$USER/clidriver
    npm install ibm_db
  • Example for Windows:
    set IBM_DB_HOME=C:\myproject\clidriver
    npm install ibm_db

For Missing Package/Binding issue

If your application is able to connect to IBM Database Server but query execution is throwing SQL0805N error, run below commands to fix the package related issues:

cd .../ibm_db/installer
source setenv.sh
db2cli bind $IBM_DB_HOME/bnd/@db2cli.lst -database <dbname>:<hostname>:<port> -user <dbuser> -passwd <passwd> -options "grant public action replace blocking no"

If above command prints 0 error at end, then you can proceed to run query. If it reports non-zero error, open a new issue on github and share the output of above db2cli bind command along with query execution error.

Alternatively, if you have any other DB2 client with CLP, you can bind packages using db2 bind command too. f.e. use below command against DB2 for z/OS server:

db2 bind .../sqllib/bnd/@ddcsmvs.lst action replace grant public sqlerror continue messages msg.txt

Note: "db2cli bind" command print the logs on output prompt, so you need to redirect output to some file to capture it. To capture logs of "db2 bind" command, you need to use messages option as in above example. Note: "db2cli bind" does not work with DB2 z/OS if the CLI packages (SYSSH*) were bound the DB2 subsystem is configured with APPLCOMPAT and SQLLEVEL set to V12R1M502 or higher. Tested with APPLCOMPAT=V12R1M500

Troubleshooting on z/OS

Some errors on z/OS are incomplete, so, to debug, add the following to your Db2 ODBC initialization file:

 APPLTRACE=1
 APPLTRACEFILENAME=/u/<username>/odbc_trace.txt

Db2 z/OS: UnicodeDecodeError Exception

  • Make sure you have set CURRENTAPPENSC=ASCII or UNICODE in ODBC initialization file.
  • Make sure tagging of your ODBC ini file is "binary" or "mixed".

Usage within VS Code

If you are using ibm_db to develop extension for VS Code, then ibm_db has to be rebuilt with Electron libraries. This can be achieved by running:

npm install ibm_db -vscode

ibm_db would automatically be rebuilt with Electron if your installation directory path contains 'db2connect' as a sub-string. This has the same effect as running with '-vscode' flag.

If you know the electron version or get it from Help->About option of vscode; you can build native add-on code for specific version of electron using below command:

npm install ibm_db -electron="32.2.5"

How to verify database connectivity using ODBC and generate db2trace?

cd to ibm_db/installer directory and update database connection information for db2cli validate command in testODBCConnection.sh file for non-Windows platform and execute it. For Windows platform, update connection info for db2cli validate command in testODBCConnection.bat file and execute it from Administrator Command Prompt. Script testODBCConnection set the required environment variables, validate database connectivity and gerate db2trace files.

How to get db2trace for any node.js test file?

copy test.js to ibm-db/test directory
cd ibm_db/installer
source ./setenv.sh
cd ibm_db/test
./trace test.js

trace script works only on non-windows platform. For Windows, use testODBCConnection.bat script. You can replace db2cli validate command with node test.jsin testODBCConnection.bat script and execute it.

Issues while connecting to Informix Server

While using ibm_db against Informix server, you may get few issues if server is not configured properly. Also, ibm_db connects to only DRDA port. So, make sure drsoctcp of Informix is configured.

SQL1042C Error

If ibm_db is returning SQL1042C error while connecting to server, use "Authentication=SERVER" in connection string. It should avoid the error. Alternatively, you can set Authentication in db2cli.ini file or db2dsdriver.cfg file too. This error mostly comes due to presence of multiple copy of db2 client or gskit library in the system. Run db2level command and it shows path other than ibm_db\installer\clidriver, set IBM_DB_HOME to this path and reinstall ibm_db. If you have C:\Program Files\IBM\gsk8 directory on windows, remove it from PATH env var and if possible, rename it.

code-set conversion error

If Informix server is not enabled for UNICODE clients or some code-set object file is missing on server; server returns this error to ibm_db: [IBM][CLI Driver][IDS/UNIX64] Error opening required code-set conversion object file.

To avoid this error, remove UNICODE from binding.gyp file and rebuild the ibm_db.

Also to avoid above issues, you can run ibm_db/installer/ifx.sh script on non-windows system.

Need Help?

If you encountered any issue with ibm_db, first check for existing solution or work-around under issues or on google groups forum. Links are:

https://github.com/ibmdb/node-ibm_db/issues https://groups.google.com/forum/#!forum/node-ibm_db

If no solution found, you can open a new issue on github.

Getting SQL30081N error occasionally, after some time of inactivity : Check issue#810

Want to configure db2dsdrivre.cfg file to avoid SQL30081N error: Check issue#808

Build Options

Debug

If you would like to enable debugging messages to be displayed you can add the flag DEBUG to the defines section of the binding.gyp file and then execute node-gyp rebuild.

<snip>
'defines' : [
  "DEBUG"
],
<snip>

OR,

cd ibm_db
npm install --debug

Above two method will enable debugging messages from C++ code. You can enable debugging messages from nodejs code by calling ibmdb.debug(true) api from your application.

Unicode

By default on distributed platforms, UNICODE suppport is enabled. This should provide the most accurate way to get Unicode strings submitted to your database. For best results, you may want to put your Unicode string into bound parameters.

On z/OS, UNICODE is disabled by default.

However, if you experience issues or you think that submitting UTF8 strings will work better or faster, you can remove the UNICODE define in binding.gyp

<snip>
'defines' : [
  "UNICODE"
],
<snip>

timegm vs timelocal

When converting a database time to a C time one may use timegm or timelocal. See man timegm for the details of these two functions. By default the node-ibm_db bindings use timelocal. If you would prefer for it to use timegm then specify the TIMEGM define in binding.gyp

<snip>
'defines' : [
  "TIMEGM"
],
<snip>

Strict Column Naming

When column names are retrieved from DB2 CLI, you can request by SQL_DESC_NAME or SQL_DESC_LABEL. SQL_DESC_NAME is the exact column name or none if there is none defined. SQL_DESC_LABEL is the heading or column name or calculation. SQL_DESC_LABEL is used by default and seems to work well in most cases.

If you want to use the exact column name via SQL_DESC_NAME, enable the STRICT_COLUMN_NAMES define in binding.gyp

<snip>
'defines' : [
  "STRICT_COLUMN_NAMES"
],
<snip>

Tips

Using more than 4 threads on Linux

Be aware that through node v0.9 the uv_queue_work function, which is used to execute the ODBC functions on a separate thread, uses libeio for its thread pool. This thread pool by default is limited to 4 threads.

This means that if you have long running queries spread across multiple instances of ibmdb.Database() or using odbc.Pool(), you will only be able to have 4 concurrent queries.

You can increase the thread pool size by using @developmentseed's [node-eio] (https://github.com/developmentseed/node-eio).

install:

npm install eio

usage:

var eio = require('eio'); 
eio.setMinParallel(threadCount);

Contributor

Contributing to the node-ibm_db

Contribution Guidelines

Contributor should add a reference to the DCO sign-off as comment in the pull request(example below):
DCO Signed-off-by: Random J Developer <random@developer.org>

License

Copyright (c) 2013 Dan VerWeire dverweire@gmail.com

Copyright (c) 2010 Lee Smith notwink@gmail.com

Copyright (c) 2014 IBM Corporation

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

changelog

2024-12-01, Version 3.3.0

  • add electron binaries for macos arm64 system (Bimal Jha)

  • fea: add support for native installation on MacOS M1 Chip system (Bimal Jha)

2024-11-21, Version 3.2.5

  • test: add test case for issue #996 (Bimal Jha)

  • update adm-zip version, fix of issue #991 (Bimal Jha)

  • add support for nodev23.x (Bimal Jha)

  • add support for nodev22.x on Windows #1005 (Bimal Jha)

  • Update README.md doc for issue #1004 (Bimal Kumar Jha)

  • Axios upgrade due open vulnerability [CVE-2024-39338] (#1001) (Iván Gustavo Ortiz García)

  • upd: nan version to 2.20.0 (Bimal Jha)

  • fea: add binaries for electron_v31 (Bimal Jha)

  • update nan version (Bimal Jha)

  • update mac binaries for electron 28 (Bimal Jha)

  • fix adm-zip version temporarily to fix vscode install issue (Bimal Jha)

  • Add Linux and Windows binaries for electron version 28 (Bimal Jha)

  • doc: update info about JKS file for SSL Connection (Bimal Jha)

2024-03-31, Version 3.2.4

  • doc update with SSL info for #989 (Bimal Jha)

  • build(deps): bump follow-redirects from 1.15.4 to 1.15.6 (#990) (dependabot[bot])

  • support for set connect attributes, #970 (Bimal Jha)

  • Fix calling FreeColumns multiple times resulting in SIGABRT (#980) (Lasse Hyldahl Jensen)

  • build(deps): bump follow-redirects from 1.15.3 to 1.15.4 (#976) (dependabot[bot])

2023-11-17, Version 3.2.3

  • update precompiled binaries (Bimal Jha)

  • fea: add support for pool.initAsync() API, PR #953, issue #952 (Bimal Jha)

  • fix: compilation issue on z/OS, define SQL_BOOLEAN, issue #961 (Bimal Jha)

  • build(deps): bump axios from 1.5.0 to 1.6.0 (#964) (dependabot[bot])

  • fix promise bug of executeNonQuery api, issue #960 (Bimal Jha)

  • read Db2 credential from Env var for testing (Bimal Jha)

2023-09-23, Version 3.2.2

  • update windows binary and electron binaries (Bimal Jha)

  • update test files, doc files and dependency versions. (Bimal Jha)

  • Fix for https://github.com/ibmdb/node-ibm_db/issues/942 (#944) (Andre Asselin)

  • Fix double free of Buffer/str for OUTPUT parameter, issue #942 (Bimal Jha)

  • Fix for https://github.com/ibmdb/node-ibm_db/issues/943 (#945) (Andre Asselin)

  • Support null value for INOUT type parameter of SP, issue #940 (Bimal Jha)

  • doc upate, correct links in api documentation (Bimal Jha)

  • fix: ignore CLI0106E error for endTransaction, issue #938 (Bimal Jha)

  • update test file (Bimal Jha)

  • add support for outparams in await call of stmt.execute() API, issue #936 (Bimal Jha)

  • Add addon binaries for electron v25 (Bimal Jha)

  • update issue template (Bimal Jha)

2023-05-21, Version 3.2.1

2023-05-07, Version 3.2.0

  • update M1 Chip system installation instruction (Bimal Jha)

  • Replace unzip package to fix Node 18 install error (#922) (Timothy Johnson)

  • update documentation (Bimal Jha)

  • Add MacOS M1/M2 Chip install instructions (Bimal Jha)

  • update windows and vscode binaries (Bimal Jha)

  • add char insert test case for issue #915 (Bimal Jha)

  • update minimist version in package-lock.json file, issue #905 (Bimal Jha)

  • fix for issue #904 - correct typo in promise return (Bimal Jha)

  • fix: use passed length as buffer size for binary array insert, issue #896 (Bimal Jha)

  • fix: for issue #899 - correct hard coded path in mac vscode binary (Bimal Jha)

2022-12-04, Version 3.1.0

  • update Readme file (Bimal Jha)

  • update: windows binary for nodejs v19.x (Bimal Jha)

  • fix: for binary data array insert issue #883 (Bimal Jha)

  • fix: update nan version to 2.17.0 (Bimal Jha)

  • fea: Add support for getFunctions() APIs (Bimal Jha)

  • build(deps): bump minimatch from 3.0.4 to 3.1.2 (#893) (dependabot[bot])

  • fea: add support for getTypeInfo() APIs (Bimal Jha)

  • Fix error in driverInstaller on z/OS (#884) (jolai)

2022-09-06, Version 3.0.0

  • fix: update binaries for windows and vscode (Bimal Jha)

  • fix: Reloading driver causes failures on async functions #514 (Bimal Jha)

  • fea: Convert the library to support Promises for all methods. #715 (Bimal Jha)

  • fea: add result.close API (Bimal Jha)

  • promisify describe related methods (Bimal Jha)

  • update mac binaries for vscode https://github.com/ibmdb/vscode-extension/issues/50 (Bimal Jha)

  • test: update test files (Bimal Jha)

  • fix: Empty Strings in Batch inserts result in corrupt values being inserted #875 (Bimal Jha)

  • fea: Add support for Buffer() for insert and select for binary data. #702, #859, #860, #862, #864 (Bimal Jha)

  • fea: allow installation using specific version of clidriver (Bimal Jha)

2022-07-16, Version 2.8.2

  • update vscode binaries for mac and linux (Bimal Jha)

  • update precompiled binary for windows (Bimal Jha)

  • fix: Data Lost at position 1022 when retrieving from DBCLOB. #858 (Bimal Jha)

  • fix: big int data returns wrong value on windows, issue #816 (Bimal Jha)

  • fix: code scan issues reported by polaris and add polaris.yml file (Bimal Jha)

  • fix: update moment version to fix vulnerability (Bimal Jha)

  • fix installation failure issue when IBM site is down, #865, #869 (Bimal Jha)

  • fix: return bigint as string #816, #863 (Bimal Jha)

  • add template for reporting an issue (Bimal Jha)

  • Added support for npm config SSL CA-files for driverInstall.js (#857) (Patrick Lindemann)

  • test: update test file to test the issue #835 (Bimal Jha)

  • fea: Add support for getData and getDataSync APIs (Bimal Jha)

  • Update axios version to fix vulnerability CVE-2022-1214 (Bimal Jha)

  • build(deps-dev): bump async from 2.6.1 to 3.2.2 (#840) (dependabot[bot])

  • build(deps): bump minimist from 1.2.5 to 1.2.6 (#839) (dependabot[bot])

  • build(deps-dev): bump moment from 2.22.2 to 2.29.2 (#838) (dependabot[bot])

  • add electron binary for macos (Bimal Jha)

  • add windows binary for vscode1.66 (Bimal Jha)

  • Verify IBM_DB_HOME has include and find MSBuild on windows (Bimal Jha)

  • build(deps): bump follow-redirects from 1.14.3 to 1.14.8 (#825) (dependabot[bot])

2021-12-18, Version 2.8.1

  • add support for node v17.x (Bimal Jha)

  • update nan versio of nodev17.x support (Bimal Jha)

  • update unzipper and big-integer version, issue #795 (Bimal Jha)

2021-09-12, Version 2.8.0

  • update README.md with latest tested node version (Bimal Jha)

  • update windows binaries (Bimal Jha)

  • return SQL_DESC_NAME in column metadata, #678 (Bimal Jha)

  • build(deps): bump axios from 0.21.1 to 0.21.2 (#793) (dependabot[bot])

  • Electron 13 Support (#786) (Akhil Ravuri)

  • update test files (Bimal Jha)

  • fix decimla val issue for array insert (Bimal Jha)

  • fix for decimal output param in SP, issue #782 (Bimal Jha)

  • update test file for issue #778 (Bimal Jha)

  • update package-lock.json file (Bimal Jha)

  • fix: stale connection issue #742 (Bimal Jha)

  • fea: Add support for arm64 on MacOS #784 (Bimal Jha)

  • fea: add support for synchronous conn pool apis. #692 (Bimal Jha)

  • doc: add env var info for silent installation (Bimal Jha)

  • Fix: getSQLErrorSync docs for warnings (#781) (David Sint)

  • fea: support for silent installation #743 (Bimal Jha)

  • fea: add new debug level to dump sensitive data, issue #738 (Bimal Jha)

2021-06-17, Version 2.7.4

  • fea: add support for node.js v16.x (Bimal Jha)

  • fix test file issue (Bimal Jha)

  • fix for decimal issue#761 (Bimal Jha)

  • build(deps): bump lodash from 4.17.19 to 4.17.21 (#764) (dependabot[bot])

  • Electron 12 support for vs code. (#766) (Akhil Ravuri)

  • fix bigint issue #750 (Bimal Jha)

  • electeron binaries added (#756) (Akhil Ravuri)

2021-03-15, Version 2.7.3

  • fix warnings and test failure (Bimal Jha)

  • fix: remove undefined macros for z/OS (Bimal Jha)

  • update windows binary for Electron 11.2.1 (Bimal Jha)

2021-01-20, Version 2.7.2

  • update windows binaries (Bimal Jha)

  • fix: return decimal, numeric and decfloat columns as number, issue #693 (Bimal Jha)

  • Remove dependency on request package and add axios, issue #642 (Bimal Jha)

  • add test case for Array Insert in Stored Procedure, issue #717 (Bimal Jha)

  • define SQL_DBMS_FUNCTIONLVL if not defined, issue #729 (Bimal Jha)

  • update Readme with v15.4.0 (Bimal Jha)

  • support for node v15.x (Bimal Jha)

  • doc: update for SSL connection (Bimal Jha)

  • doc: update for issue #713 (Bimal Jha)

  • add invalid connections check for prepared statement (#711) (Guilherme G. M)

  • Revert "add invalid connections check for prepared statement (#705)" (#710) (Bimal Kumar Jha)

  • add invalid connections check for prepared statement (#705) (Guilherme G. M)

  • add test for issue #706 (Bimal Jha)

  • update bl package version to fix high severity vulnerability (Bimal Jha)

  • add support for promises in executeFile API (Bimal Jha)

  • Add support for electron 9.2.1 (Bimal Jha)

2020-08-27, Version 2.7.1

  • doc: update latest test node.js version (Bimal Jha)

  • upd: windows binary files (Bimal Jha)

  • update: PATH and LIB to use GSKit libs of clidriver of ibm_db (Bimal Jha)

  • fea: Allow null value in Array Insert #679 (Bimal Jha)

  • doc: correct info about getInfo API (Bimal Jha)

  • feature: Add support for getInfo() API (Bimal Jha)

  • doc: update db2connect license version to v11.5 (Bimal Jha)

  • fix: for array insert bug #660 (Bimal Jha)

  • build(deps): bump lodash from 4.17.14 to 4.17.19 (#673) (dependabot[bot])

  • upd: test file for issue #647 (Bimal Jha)

  • update README.md for node.js v14.4.0 (Bimal Jha)

2020-06-07, Version 2.7.0

  • fix vulnerabilities (Bimal Jha)

  • update windows binaries (Bimal Jha)

  • doc update (Bimal Jha)

  • doc update for issue #658 (Bimal Jha)

  • upd: test file for issue #634 (Bimal Jha)

  • doc: update for array insert (Bimal Jha)

  • fix for issue #655 (Bimal Jha)

  • fea: Add support for Array Insert #233, #489 (Bimal Jha)

  • fea: read value of IBM_DB_INSTALLER_URL from .npmrc file (Bimal Jha)

  • support for electron7.1.11 version (#619) (Akhil Ravuri)

  • upd: version of minimist to fix security vulnerability (Bimal Jha)

  • upd: test files for Windows to avoid SQL0420N error (Bimal Jha)

2020-02-20, Version 2.6.4

  • upd: windows binary (Bimal Jha)

  • upd: test file (Bimal Jha)

  • fix: remove deletion of local var, issue #610 (Bimal Jha)

  • fix: to insert null value using dynamic sql #604 (Bimal Jha)

  • fix: allocate one more byte for output params (Bimal Jha)

2019-12-11, Version 2.6.3

  • update windows binary using latest code (Bimal Jha)

  • fea: check electron version during installation, issue #598 (Bimal Jha)

  • fix: ignore sqlcode 100 by query APIs, issue #573 (Bimal Jha)

  • fix: for issues #598, #599 (Bimal Jha)

  • test: adding new test case of perf testing (Bimal Jha)

2019-12-09, Version 2.6.2

  • doc: update for issue #593 (Bimal Jha)

  • fix: update windows binary using latest code (Bimal Jha)

  • fix: for memory leak issue #576 (Bimal Jha)

  • fix: update windows binary for vscode 1.40.x (Bimal Jha)

  • update windows binaries (Bimal Jha)

  • fix: add executeNonQuerySync in odbc.js issue #595 (Bimal Jha)

  • fix: ignore sqlcode 100 by executeNonQuery, issue #591 (Bimal Jha)

  • fix: use v8::Isolate for nodev >= 11 (Bimal Jha)

  • fix: update unzipper version, issue #588 (Bimal Jha)

  • Support for node v12 on z/OS, and fix some test cases for z/OS (#586) (alexcfyung)

  • force push connection to the queue when poolSize breaches maxPool boundry (#581) (ashutoshrnjn)

  • doc: update doc for executeNonQuerySync API, issue #583 (Bimal Jha)

  • fix: blob data corruption issue #582 (Bimal Jha)

  • support for install --debug option on windows (Priyanka Manoharan)

  • doc: Docker Linux Container instructions (Bimal Jha)

2019-09-03, Version 2.6.1

  • fix: macos install issue (Bimal Jha)

  • doc: update (Bimal Jha)

  • Update windows binary in build.zip file (Priyanka Manoharan)

  • fix: for issue #569 (Bimal Jha)

  • fix: for memleak issue #567 (Bimal Jha)

  • update windows binary in build.zip file (Priyanka Manoharan)

  • Support for ODBCStatement.close() async method (#325) (PriyankaManoharan04)

  • fix: for issue #542 (Bimal Jha)

  • fix: return execute warning before rowCount warning (Bimal Jha)

  • fix: for issue #551 (Bimal Jha)

  • message update (Bimal Jha)

  • update test files (Priyanka Manoharan)

  • fix: for issue #567 (Bimal Jha)

  • fix: for issue #557 (Bimal Jha)

2019-08-19, Version 2.6.0

  • update windows binary in build.zip file (Priyanka Manoharan)

  • fix: use nan converters (Bimal Jha)

  • fix for issue #563 (Bimal Jha)

  • fix memory leak issue #452 (Bimal Jha)

  • Added section on configuration keywords available (#560) (Dariusz Danielewski)

  • support for executeFile Api (#558) (PriyankaManoharan04)

  • Node 12.x Support (#564) (Bimal Kumar Jha)

  • Add vscode binary for 4.2.5 (Bimal Jha)

  • electron 4.2.5 version is supported (#556) (Akhil Ravuri)

2019-07-19, Version 2.5.3

  • update windows binary in build.zip file (Priyanka Manoharan)

  • Fix for issue #512 (Priyanka Manoharan)

  • support for fs-extra package (#554) (PriyankaManoharan04)

  • fix security alert for lodash (Bimal Jha)

  • Fix for the issue #541 (#549) (PriyankaManoharan04)

  • support for executeFileSync Api (#547) (PriyankaManoharan04)

  • Fix undefined availablePool issue (Bimal Jha)

  • Fix error when pool is not initialized: DBC-4375 (Bimal Jha)

  • update test file (Bimal Jha)

  • Fix for issue #497, remote stale connection from pool (Bimal Jha)

  • Update fstream to 1.0.12 to fix vulnerability (#539) (Vinícius Silva)

  • Update z/OS documentation (#540) (Joran Siu)

  • Add bindings for Electron f/w (#536) (Vyshakh)

  • Add support for DBCLOB data types. Issue #431 (Priyanka Manoharan)

  • Do not delete build direcotry for z/OS. #530 (Bimal Jha)

  • fix test case issue (Bimal Jha)

  • renaming the vscode extension directory as per new extension name (#529) (Vyshakh)

  • update windows binary in build.zip file. (Priyanka Manoharan)

  • clean build directory before rebuild during installation (Bimal Jha)

  • DBC-4156:Add support for SQLRowCount() API on result object returned by stmt.execute (Bimal Jha)

  • Add support for BOOLEAN data type (Bimal Jha)

  • test case for XML datatype (Priyanka Manoharan)

  • Fix for issue #517 (Priyanka Manoharan)

  • Vscode extension detection during install (#518) (Vyshakh)

  • Enable electron build for use with VS Code (#515) (Vyshakh)

2018-12-05, Version 2.5.0

  • Update README.md (Bimal Kumar Jha)

  • Adding windows binary support for Node V9.X, V10.X, V11.X (#492) (Rohit Pandey)

  • Fix STEPLIB typos for SDSNLOD2 library (#488) (Joran Siu)

  • Revert "Fix ApiDocumentation.md to use Github Markdown anchors" (#491) (Bimal Kumar Jha)

  • Remove extraneous comma in zos test config (#479) (Joran Siu)

  • Node.js Version 9.X and 10.X support. (#398) (Rohit Pandey)

  • Change links to add user-content- prefix, trim whitespace (#477) (Michael Varrieur)

  • fix test case (Bimal Jha)

2018-09-26, Version 2.4.1

  • Update dependent package versions (Bimal Jha)

  • doc update and add test file (Bimal Jha)

  • Add API Documentation and document fetchAll #409 (Bimal Jha)

  • adding latest binaries for windows support (Rohit Pandey)

  • Fix security vulnerability of manitest files. (Bimal Jha)

  • V11.1clidriver support (#456) (Bimal Kumar Jha)

  • fix typo (Bimal Jha)

  • Add support for result.getSQLErrorSync() API (Bimal Jha)

  • Bug fixes and #440 (Bimal Jha)

  • Update basic + async call tests for z/OS compatibility (#441) (Joran Siu)

  • Update query() API to return sqlcode and state in third parameter of callback function (Bimal Jha)

  • update test file for issue #415 (Bimal Jha)

  • update unzipper version #417 (Bimal Jha)

  • fix for issue #415 (Bimal Jha)

  • DB2 z/OS installation difficulties noted (#408) (Robert Penny)

  • Fix for issue #375 (Bimal Jha)

2018-06-04, Version 2.4.0

  • adding latest binaries, support for node 9.X on windows (Rohit Pandey)

  • Fix for issue #405, #404, #389 (Rohit Pandey)

  • Document setIsolationLevel #154 (Bimal Jha)

  • Rename getColumnMetadata to getColumnMetadataSync (Bimal Jha)

  • Add queryResult APIs. #246 (Bimal Jha)

  • Doc change for issue #386 (Bimal Jha)

  • Add debug logs (Bimal Jha)

  • Fix for international characters. #388, #399, #401, #402 (Bimal Jha)

  • Restrict createDbSync/dropDbSync on z/OS (#403) (Joran Siu)

  • Update test file for issue #388 (Bimal Jha)

  • update test file with getColumnMetadata (Bimal Jha)

  • adding latest binaries for windows (Rohit Pandey)

  • Correct formatting issue (Bimal Jha)

  • Fix for issue #389 (Bimal Jha)

  • Accessor for column metadata (#391) (Michael Colavita)

2018-04-19, Version 2.3.1

  • Updated test case for issue #357 (#380) (Rohit Pandey)

  • adding latest code binaries till node 8.X (Rohit Pandey)

  • Set theme jekyll-theme-cayman (Bimal Kumar Jha)

  • Fix for issue #377 and #342 (Bimal Jha)

  • CreateDatabaseSync() and dropDatabaseSync() api support. (#341) (Rohit Pandey)

  • add logs (Bimal Jha)

  • Add GRANT EXECUTE permissions step for z/OS ODBC (#378) (Joran Siu)

  • Fix for issue #329, pull #330, #368 (Bimal Jha)

  • Update tests for z/OS compatiability (Joran Siu)

  • Add z/OS specific updates (Joran Siu)

  • Add z/OS specific configuration and installation steps (Joran Siu)

  • Update README + INSTALL with z/OS details (Joran Siu)

  • Added Fix for issue #253 #331 (rhtpandeyIN)

  • Fix for issue #324 - Calling conn.close twice causes pool.close not to complete (bimalkjha)

  • fix for issue #323 (bimalkjha)

2017-09-29, Version 2.2.1

  • enhance db2connect license info - issue #317 (bimalkjha)

  • enhance test file to test issue #318 (bimalkjha)

  • Fix for issue #313 (bimalkjha)

  • correct dependency versions in pakcage.json - fix for issue #315 (bimalkjha)

  • Fix for issue #288 - Stringify Pool Object in debug log. (bimalkjha)

2017-09-18, Version 2.2.0

  • update windows binary (bimalkjha)

  • Windows: Latest pre-compiled binary support (rhtpandeyIN)

  • Windows: Auto Installation support (Compile and build) (#310) (Rohit Pandey)

  • update readme (bimalkjha)

  • New contribution guidelines for node-ibm_db (rhtpandeyIN)

  • test case changes (bimalkjha)

  • Fix for issue #297 - After DB Connection Failure, Available and Used Pool gets blank but poolSize still has value as max pool size (bimalkjha)

  • Fix for issue #307 (bimalkjha)

  • fix for issue #305 (rhtpandeyIN)

  • Fix for issue #293 (bimalkjha)

2017-07-10, Version 2.1.0

  • fix installer bug (bimalkjha)

  • fix test case issue (bimalkjha)

  • add test script for windows (unknown)

  • error message console warning format correction (rhtpandeyIN)

  • node v8.x support for windows platform with the latest code changes (rhtpandeyIN)

  • clidriver permission issue fix. (#284) (Rohit Pandey)

  • inserted missing escape sequence. (#279) (Rohit Pandey)

  • unzipper finish console message change (Rohit Pandey)

  • issue related to clidriver permission and bindings (rhtpandeyIN)

  • README update for clidriver downloading information #255 (#266) (Rohit Pandey)

  • Fix and Test case for issue #253 (#261) (Rohit Pandey)

  • IBM_DB_INSTALLER_URL detailed information updated- issue #255 (rhtpandeyIN)

  • For issue #256 (bimalkjha)

  • Fix for issue #249 - Invalid cursor state (bimalkjha)

  • Fix for issue #238 (bimalkjha)

  • For issue #230 (bimalkjha)

  • fix test case issues and error handling (bimalkjha)

  • Fix for issue #231 (bimalkjha)

  • remove downloaded clidriver zip file on windows (bimalkjha)

  • fix for issue #229 (bimalkjha)

  • doc updated (bimalkjha)

2017-02-22, Version 2.0.0

  • fix warning and installer update (bimalkjha)

  • latest node binaries for windows and nodejs version < 0.12.x support for node-ibm-db discontinued. (#228) (Rohit Pandey)

  • For issue #227 (bimalkjha)

  • Add support for i5/OS system naming (bimalkjha)

  • For issue #205 (bimalkjha)

  • Fix for issue #222, downloading driver using "request" module, also Code refactoring in "installer.js" (#226) (Rohit Pandey)

  • Delete dead dynodbc code. (#225) (Ben Noordhuis)

  • fix for connection timeout (bimalkjha)

  • fix for issue #210 (bimalkjha)

  • log enhancement (bimalkjha)

  • update test files (bimalkjha)

  • version update (bimalkjha)

  • test file update (bimalkjha)

  • Rebase (Quentin Presley)

  • typeof NULL is object causing tests to fail (Quentin Presley)

  • udpate test files (bimalkjha)

  • update test file (bimalkjha)

  • update test file for issue #215 (bimalkjha)

  • update about node.js v0.10.x (bimalkjha)

  • adding node V7 support for windows (rhtpandeyIN)

  • Remove unnecessary locking (Quentin Presley)

  • fix for issue #211 (bimalkjha)

  • Add support for OUTPUT parameters of SP in execute() and executeSync() APIs. (bimalkjha)

  • adding unzipper support removing unzip (rhtpandeyIN)

  • add check for dynamically allocated memory (bimalkjha)

  • fix for issue #208 (bimalkjha)

  • fix for issue #207 (bimalkjha)

  • add support for multiple resultset returned by query and querySync methods. (bimalkjha)

  • fix for issue #200 (bimalkjha)

  • fix for #198 (bimalkjha)

  • doc update (bimalkjha)

  • remove stale code related to loginTimeout (bimalkjha)

  • Fix for issue #196 (bimalkjha)

  • fix for issue #192 (bimalkjha)

  • add example for single row fetch at once (bimalkjha)

  • add support for Object in query APIs (bimalkjha)

  • adding CLA contribution licence agreement. (rhtpandeyIN)

  • Add stream support and address pull request #184, #189 and #190. (bimalkjha)

  • update windows binary (bimalkjha)

  • connection pool related changes (bimalkjha)

  • doc update with new pool apis (bimalkjha)

  • Add setIsolationLevel function (Quentin Presley)

  • Code comments (Quentin Presley)

  • fix for pull request #183 (bimalkjha)

  • Fix up no results code (Quentin Presley)

  • Connectio0n Pooling Enhancement to support MaxPoolSize (bimalkjha)

  • fix test-querySync-select-with-execption.js on windows (George Adams)

  • force test-call-stmt and test-call-async to use the default schema (George Adams)

  • Show stdout and stderr when a test fails (Gibson Fahnestock)

  • update version (bimalkjha)

  • call stmt (bimalkjha)

  • update doc (bimalkjha)

  • update doc with bind info (bimalkjha)

  • test file merge (bimalkjha)

  • Fix for issue #159 (bimalkjha)

  • added try-catch for droping table (bimalkjha)

  • merge pull request #157 (bimalkjha)

  • test files to test OUT and INOUT params in SP (bimalkjha)

  • code changes to supprort OUT param in SP (bimalkjha)

  • used targz instead of tar.gz (Jeremiah Akpotohwo)

  • installed dependencies for ibm_db tests (Jeremiah Akpotohwo)

  • Downgraded tar.gz module to 1.0.2 (Akpotohwo)

  • add support for OUT and INPUT Param in Stored Procedure (bimalkjha)

  • Update white space formatting (Quentin Presley)

  • Added 2 test cases and fixed a bug related to promises (matpasha)

  • Reverting test case (matpasha)

  • added promise support to all methods (matpasha)

  • sample web app using ibm_db (bimalkjha)

  • add logs (bimalkjha)

  • for issue #141 (bimalkjha)

  • begining to add support for promises (IBM_ADMIN)

2016-07-08, Version 1.0.0

  • Added node V6.X and BLOB/CLOB Support for Windows platform (rhtpandeyIN)

  • fix for issue #139 (bimalkjha)

  • fix for issue #120 (bimalkjha)

  • fix for issue #131 (bimalkjha)

  • query api updated to handle LOB data (bimalkjha)

  • updating README for new APIs (rhtpandeyIN)

  • updating README for API information (rhtpandeyIN)

  • Fix for issue #120 and issue #132 (bimalkjha)

  • fix for segfault (bimalkjha)

  • Added V6 Support and LOB Support (rhtpandeyIN)

  • remove node.js v0.8 support (bimalkjha)

  • update for BLOB supprot (bimalkjha)

  • fix for #119 (bimalkjha)

  • udpated test files (bimalkjha)

  • Fix issues related to v0.10.x (bimalkjha)

  • Add BLOB/CLOB Support (bimalkjha)

  • Added BLOB/CLOB Support (bimalkjha)

  • add build steps (bimalkjha)

  • correct examples (bimalkjha)

  • udpate readme file (bimalkjha)

  • add support for proxy authentication using auth (bimalkjha)

  • update test script for MacOS (bimalkjha)

  • commit (rhtpandeyIN)

  • updating link for INSTALL.md (rhtpandeyIN)

  • updating readme (rhtpandeyIN)

  • updating readme and install.md (rhtpandeyIN)

  • updating INSTALL.md (rhtpandeyIN)

  • Adding all installation steps for INSTALL.md (rhtpandeyIN)

  • added steps for Linux for Power PC (rhtpandeyIN)

  • adding space b/w headings INSTALL.md (rhtpandeyIN)

  • added steps for linux on z in INSTALL.md (rhtpandeyIN)

  • modified AIX steps in INSTALL.md (rhtpandeyIN)

  • modified INSTALL.md (rhtpandeyIN)

  • added steps for AIX in INSTALL.md (rhtpandeyIN)

  • updating INSTALL.md file text format (rhtpandeyIN)

  • updating INSTALL.md file (rhtpandeyIN)

  • test commit (rhtpandeyIN)

  • old commit push for INSTALL.md (rhtpandeyIN)

  • updated INSTALL.md file (rhtpandeyIN)

  • adding INSTALL.md for installation guide (rhtpandeyIN)

  • Fix for issue #93, included code from pull request #94 (rhtpandeyIN)

  • adding support for v5 on windows (rhtpandeyIN)

  • Fix for issue #100, included code from pull request #101 (bimalkjha)

  • fix for compile issue on node.js v0.10.x (bimalkjha)

  • update v4 related comment (bimalkjha)

  • Fix for linux compile issue (bimalkjha)

  • Code changes to support node.js v4.x (bimalkjha)

  • fix for issue #81 (bimalkjha)

  • update doc with AIX install issue (bimalkjha)

  • update about v4 support on windows (bimalkjha)

  • new version with AIX support (bimalkjha)

  • Update installer to support V4 binary on ntx64 (bimalkjha)

  • Including windows binary for v4 (rhtpandeyIN)

  • Adding AIX support for node.js v0.12.x (bimalkjha)

  • information updated (Rohit Pandey)

  • Update: node-ibm_db is now supported on Windows using NodeJS V4.x. (Rohit Pandey)

  • adding latest odbc_bindings.node file (unknown)

  • add debug method (Bimal Kumar Jha)

  • Fix for error preventing compilation without UNICODE support (Bimal Kumar Jha)

  • correct the spelling of platform in installer (Bimal Jha)

  • Replace usage of timelocal with mktime (Matt Hamann)

  • Adding support for AIX platform. (Bimal Jha)

  • removing v4.x related code form master (Bimal Jha)

  • Updating license text (Bimal Jha)

  • Updated windows limitation (Bimal Jha)

  • update nodejs v4.x info (Bimal Jha)

  • correct formatting (Bimal Jha)

  • add nodejs v4.x info (Bimal Jha)

  • fix code issue (Bimal Jha)

  • fixed code issues (Bimal Jha)

  • fixed nan releated code issue (Bimal Jha)

  • update files for nodejs-v4.1.1 support (Bimal Jha)

  • added supported platforms name (Bimal Jha)

  • Add support for LinuxPPC64LE platfrom (Bimal Jha)

  • fix a js bug, call console.log (Bimal Jha)

  • New binary to reflect cpp code changes. (unknown)

  • update test files. (Bimal Jha)

  • Fix for issue #38 (Bimal Jha)

  • update test files (Bimal Jha)

  • Regroup nodeEE test files. (Bimal Jha)

  • Added support for Linux on z Systems (Bimal Jha)

  • Fix for issue #60 (Bimal Jha)

  • code fix (elkorep)

  • Additional Test Cases (elkorep)

  • Fix for issue #55 (Bimal Jha)

  • Use the fixed versions of dependent modules (Regression Account)

  • Fixes #50 (Matt Pelland)

  • fix for issue #45 (Bimal Jha)

  • Revert "0.0.12 fails to install on IBM Bluemix #43" (bimalkjha)

  • 0.0.12 fails to install on IBM Bluemix #43 (Matt Pelland)

  • Fix for issue #42 (Bimal Jha)

  • fix installer issue for windows (bimaljha)

  • Update build.zip and defautl connection timeout. (Bimal Jha)

  • Exit with error code on installation errors, to allow failure detection by automated build tools (Michael Szlapa)

  • Add pool related test files. (Bimal Jha)

  • Update conn.close() for Pool to avoid reconnection before moving to available pool. Add pool related test files and update existing test files. (Bimal Jha)

  • update examples (Bimal Jha)

  • Updating the new build.zip for windows (Bimal Jha)

  • delete build.zip file on ntx64 after unzip (bimaljha)

  • add build.zip (Bimal Jha)

  • add build.zip for windows, add ibm_db.close method to remove members of Database(), update package.jso with new version for release. (Bimal Jha)

  • update package.json that node version should be less than v0.12.0 (Bimal Jha)

  • fix for issue #35 and #36 (Bimal Jha)

  • note about 0.12.x support (ibmdb)

  • Adding Mac OS, other platform support (Avinash K)

  • Fixed a few typos of 'funtion'->'function' (Christopher Bebry)

  • Removing build.zip (Avinash K)

  • formatting macos section (ibmdb)

  • macos (mariobriggs)

  • Intermediate_Fixes branch merge (Avinash K)

  • Fix for pipe stream issue while downloading DSDriver zip file (Avinash K)

  • Fixed error in lib path set in binding.gyp for DB2 installation (Avinash K)

  • Removing unnecessary print statements (Avinash K)

  • Code review changes, removed unnecessary conditionals from binding.gyp (Avinash K)

  • Code review fixes, test-case clean up (Avinash K)

  • Documenatation changes, Changes after code review (PriyaRanjan)

  • driver install automation on linux, test cases (PriyaRanjan)

  • Automated driver installation for linux (PriyaRanjan)

  • Driver installation automated on linux (PriyaRanjan)

  • Automated linux drivier installation (PriyaRanjan)

  • Commit windows build binary (avinashk)

  • fixes for issue #4, #14, #17 (PriyaRanjan)

  • Update document to note requirements can use a DB2 Server, not just Data Server Driver. (Ian Bjorhovde)

  • Modify to add support for building on Mac OS X Add comments about possibility of using a DB2 Server (e.g., DB2 Express-C) instead of the Data Server Driver only. (Ian Bjorhovde)

2014-10-30, Version -0.0.3

  • fixes linux new line char (PriyaRanjan)

2014-10-22, Version -0.0.2

  • test-suite clean up for DB2, fixes for issue #14, bug while retrieving time data type (avinashk)

2014-01-24, Version -0.0.1

  • First release!