The Wayback Machine - http://web.archive.org/web/20200903045917/https://github.com/nukedzn/node-informix
Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
gyp
 
 
lib
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

node-informix

Join the chat at https://gitter.im/nukedzn/node-informix

npm version wercker status codecov.io Coverage Status Dependency Status devDependency Status

A node.js native client for IBM Informix.

Features

  • Developer friendly ES6 Promise based API
  • Transparent connections with lazy connect
  • Connection pooling
  • Prepared Statements
  • Transaction contexts
  • Linux, Mac OSX and Windows (experimental) compatibility

Dependencies

Environment variables

  • INFORMIXDIR - (e.g. INFORMIXDIR=/opt/informix)
  • INFORMIXSERVER - (e.g. INFORMIXSERVER=ol_informix1210)
  • INFORMIXSQLHOSTS
  • PATH to include ${INFORMIXDIR}/bin - (e.g. export PATH="${INFORMIXDIR}/bin:${PATH}")
  • LD_LIBRARY_PATH to include ESQL/C shared libraries - (e.g. export LD_LIBRARY_PATH="${INFORMIXDIR}/lib:${INFORMIXDIR}/lib/esql:${LD_LIBRARY_PATH}")

Debian/Ubuntu

You'll need to patch ${INFORMIXDIR}/bin/esql on Debian based systems. e.g.

$ cat esql-4.10.debian.patch | patch ${INFORMIXDIR}/bin/esql

Installation

$ npm install --save informix

Usage

var opts = {
  database : 'test@ol_informix1210',
  username : 'rockstar',
  password : 'secret'
};

var informix = require( 'informix' )( opts );
var Informix = require( 'informix' ).Informix;
var informix = new Informix( { database : 'test@ol_informix1210' } );
informix
  .query( "select tabname from systables where tabname like 'sys%auth';" )
  .then( function ( cursor ) {
    return cursor.fetchAll( { close : true } );
  } )
  .then( function ( results ) {
    console.log( 'results:', results );
  } )
  .catch( function ( err ) {
    console.log( err );
  } );
var ctx = informix.createContext();

ctx.begin()
  .then( function () {
    return ctx.query( "insert into tcustomers( fname, lname ) values( 'John', 'Smith' );" );
  } )
  .then( function ( cursor ) {
    console.log( 'id:', cursor.serial() );
    return cursor.close();
  } )
  .then( function () {
    return ctx.commit();
  } )
  .then( function () {
    return ctx.end();
  } )
  .catch( function ( err ) {
    console.log( err );
  } );

API Documentation

JSDoc generated API documentation can be found at http://nukedzn.github.io/node-informix/docs/.

Contributing

Contributions are welcome through GitHub pull requests (using fork & pull model).

You can’t perform that action at this time.