1.0.0 • Published 7 years ago

informix v1.0.0

Weekly downloads
25
License
ISC
Repository
github
Last release
7 years ago

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

1.0.0

7 years ago

0.8.0

8 years ago

0.7.0

8 years ago

0.6.0

8 years ago

0.5.9

8 years ago

0.5.8

8 years ago

0.5.7

8 years ago

0.5.6

9 years ago

0.5.5

9 years ago

0.5.4

9 years ago

0.5.3

9 years ago

0.5.2

10 years ago

0.5.1

10 years ago

0.5.0

10 years ago

0.4.0

10 years ago

0.3.0

10 years ago

0.2.2

10 years ago

0.2.1

10 years ago

0.1.0

10 years ago

0.0.0

10 years ago