1.0.15 • Published 4 years ago

loopback-connector-db2i v1.0.15

Weekly downloads
4
License
Artistic-2.0
Repository
github
Last release
4 years ago

Project replacement

This development is discontinued. Instead, please use the loopback-connector-ibmi connector. You can find the new connector here. It is created by the StrongLoop and IBM organization.

TODO

  • Parse date
  • Use the loopback-ibmdb module
  • Fix naming configuration (actually always system)
  • Remove patch for prepare statement when IBM will fix the driver

loopback-connector-db2i

The loopback-connector-db2i module is the LoopBack connector for DB2 for IBM i.

The LoopBack DB2 connector supports:

  • All CRUD operations.
  • Queries with fields, limit, order, skip and where filters.
  • Only native connection is supported (for the moment). Column organized tables are not supported.

Installation

Enter the following in the top-level directory of your LoopBack application:

$ npm install loopback-connector-db2i --save

The --save option adds the dependency to the application's package.json file.

Configuration

Use the data source generator (slc loopback:datasource) to add the DB2 data source to your application. The entry in the application's server/datasources.json will look something like this:

"mydb": {
  "name": "mydb",
  "connector": "db2i"
}

Edit server/datasources.json to add other supported properties as required:

"mydb": {
  "name": "mydb",
  "connector": "db2i",
  "username": <username>,
  "password": <password>,
  "database": <database name>,
  "hostname": <db2 server hostname>,
  "port":     <port number>
}

The following table describes the connector properties.

PropertyTypeDescription
databaseStringDatabase name
schemaStringSpecifies the default schema name that is used to qualify unqualified database objects in dynamically prepared SQL statements. The value of this property sets the value in the CURRENT SCHEMA special register on the database server. The schema name is case-sensitive, and must be specified in uppercase characters
usernameStringDB2 Username
passwordStringDB2 password associated with the username above
hostnameStringDB2 server hostname or IP address
portStringDB2 server TCP port number
useLimitOffsetBooleanLIMIT and OFFSET must be configured on the DB2 server before use (compatibility mode)

Alternatively, you can create and configure the data source in JavaScript code. For example:

var DataSource = require('loopback-datasource-juggler').DataSource;
var DB2 = require('loopback-connector-db2');

var config = {
  username: process.env.DB2_USERNAME,
  password: process.env.DB2_PASSWORD,
  hostname: process.env.DB2_HOSTNAME,
  port: 50000,
  database: 'SQLDB',
};

var db = new DataSource(DB2, config);

var User = db.define('User', {
  name: { type: String },
  email: { type: String },
});

db.autoupdate('User', function(err) {
  if (err) {
    console.log(err);
    return;
  }

  User.create({
    name: 'Tony',
    email: 'tony@t.com',
  }, function(err, user) {
    console.log(err, user);
  });

  User.find({ where: { name: 'Tony' }}, function(err, users) {
    console.log(err, users);
  });

  User.destroyAll(function() {
    console.log('example complete');
  });
});