hana-odbc
node.js library that is a thin wrapper around node-odbc to connect to
Install
odbc backend
node-odbc will need a odbc driver to connect to HANA. I have used unixodbc so far. For using it make sure you setup a data source (DSN) that points to a HANA instance. Here is a description for how to setup an odbc connection on Ubuntu.
hana-odbc from npm
hana-odbc is on npm, to install it run
$ npm install hana-odbc
If a corporate firewall is bugging npm try
$ npm --proxy http://username:password@proxyservername:port --strict-ssl false install
Or: from github (alternative to npm install above)
To install from github do
$ git clone https://github.com/rksm/node-hana-odbc.git
$ cd node-hana-odbc
$ npm install
Usage
The test.js
file shows how to connect to and query a database. It
uses the SFLIGHT schema by default. To test if it works make sure your DB
includes this schema and run
$ node test.js username password
server.js
shows how you can provide a HTTP interface with a
expressjs-like backend.
To just use the programatic interface require hana-interface.js
ast it is done in test.js
and server.js
.
API
getSession(dsn)
Returns an odbc session object for interacting with a HANA database.
Arguments
- dsn - Specifies the data source and access parameters.
Example
var session = hanaInterface;
session.connect(callback)
Establishes a connection to a HANA DB.
Arguments
- callback - Called when the connection was established or when an error occurs. Called with one argument, an error object.
Example
session;
session.query(schema, sqlStatement, callback)
Selects a schema, sends a query, and invokes callback with the query result. If no DB connection is established yet this method will also create a connection.
Arguments
- schema - String, the name of the schema
- sqlStatement - String, the SQL to run
- callback - Function that takes two arguments: error and result. result is a
object matching
{rows: rows, hasMoreResultSets: moreResultSets}
. The property rows is an array representing the rows that are the query result. hasMoreResultSets is a Bool that signals whether there are more results. If true, callback will be called again with the remaining results.
Example
session;
session.close(callback)
Ends the connection to a HANA DB.
Arguments
- callback - Called when the connection was closed. Takes an error object as its single arguments that is non-null in case of a problem closing the connection.
Example
session;