A loopback connector for IBM i DB2 that does not require DB2 Connect.
PLSQL JavaScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
test
.gitignore
LICENSE
README.md
index.js
package.json

README.md

loopback-connector-db2ibmi

A loopback connector for IBM i DB2 that does not require DB2 Connect.

The LoopBack DB2 for IBM i connector currently supports:

  • Supports most CRUD calls. Put and replace requests are buggy.
  • Queries with limit, order, skip and where filters.

And currently lacks:

  • Full CRUD create, retrieve, update, and delete operations.
  • Queries with fields.
  • Change stream
  • Library list and multi-schema support would be nice to have. Right now a datasource has to be setup for each schema.
  • Needs code clean up and tests. This is very much pre-alpha right now.
  • HEAD request is currently not working.
  • Entity put & replace requests are broken.

Installation

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

$ npm install loopback-connector-db2ibmi --save

Configuration

Use the data source generator to add the DB2 for iSeries data source to your application. The entry in the application's server/datasources.json will look something like this:

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

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

"mydb": {
  "name": "mydb",
  "connector": "db2ibmi",
  "username": <username>,
  "password": <password>,
  "database": <database name>,
  "schema": <db2 schema>
}

The following table describes the connector properties.

This connector only works on the IBM i server itself, which is why there is no hostname or port.

Property          Type   Description
database String Database name
schema String Specifies 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
username String DB2 Username
password String DB2 password associated with the username above
useLimitOffset Boolean LIMIT and OFFSET must be configured on the DB2 server before use (compatibility mode)
supportDashDB Boolean Create ROW ORGANIZED tables to support dashDB.

useLimitOffset and supportDashDB are not taken into consideration as they should be in the code. This should be remedied.

Goal

The goal is for this to become as verbose as loopback-connector-db2iseries, but not rely on odbc and DB2 Connect.