nukedzn / node-informix

A node.js native client for IBM Informix
18 stars 10 forks source link
informix node-informix wercker-status

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

Dependencies

Environment variables

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).