UNPKG

node-teradata

Version:
162 lines (124 loc) 3.67 kB
# node-teradata [![GitHub version](https://badge.fury.io/gh/2Toad%2Fnode-teradata.svg)](https://github.com/2Toad/node-teradata/releases) [![Downloads](https://img.shields.io/npm/dm/node-teradata.svg)](https://www.npmjs.com/package/node-teradata) [![Build status](https://github.com/2toad/node-teradata/actions/workflows/ci.yml/badge.svg)](https://github.com/2Toad/node-teradata/actions/workflows/ci.yml) Teradata for Node.js --- ## Features * Asynchronous * Read/Write * Prepared Statements * Connection Pool * Keep Alive ## Installation `npm install node-teradata` ### Java node-teradata uses JDBC to communicate with Teradata: 1. Download and install JDK 8 ([1.8.0 u112](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)) 2. Make sure Java is included in your system path > Other versions of the JDK may work, but they have not been tested ### Teradata A JDBC driver is provided by Teradata for communicating with their databases via Java: 1. Download the Teradata JDBC Driver ([15.10.00.33](http://downloads.teradata.com/download/connectivity/jdbc-driver)) 2. Create a "jars" folder in the root of your app 3. Extract the archive's contents into the folder: * tdgssconfig.jar * terajdbc4.jar > Other versions of the Teradata JDBC Driver may work, but they have not been tested ## Usage Include module ```js var Teradata = require('node-teradata'); ``` Create an instance ```js var teradata = new Teradata(config); ``` **Example Config** ```js var config = { url: 'jdbc:teradata://myserver', username: 'MyUsername', password: 'MyPassword', driver: './jars/', minPoolSize: 1, maxPoolSize: 100, keepalive: { interval: 60000, query: 'SELECT 1', enabled: true }, jvmOptions: ['-Xrs'] }; ``` ### Examples #### Read ```js var id = 7; var sql = 'SELECT * FROM MyDatabase.MyTable WHERE Id = ' + id; return teradata.read(sql) .then(function(response) { console.log(response); }); ``` #### Write ```js var id = 7; var sql = 'DELETE FROM MyDatabase.MyTable WHERE Id = ' + id; return teradata.write(sql) .then(function(count) { console.log(count); }); ``` #### Read Prepared Statement ##### Anonymous Parameters ```js var id = 7; var sql = 'SELECT * FROM MyDatabase.MyTable WHERE Id = ?'; return teradata.readPreparedStatement(sql, [ teradata.createPreparedStatementParam(1, 'Int', Number(id)) ]) .then(function(response) { console.log(response); }); ``` ##### Named Parameters ```js var id = 7; var sql = 'SELECT * FROM MyDatabase.MyTable WHERE Id = :id'; return teradata.readPreparedStatement(sql, [ teradata.createPreparedStatementParam('id', 'Int', Number(id)) ]) .then(function(response) { console.log(response); }); ``` #### Write Prepared Statement ##### Anonymous Parameters ```js var id = 7; var username = 'Foo'; var sql = 'UPDATE MyDatabase.MyTable SET Username = ? WHERE Id = ?'; return teradata.writePreparedStatement(sql, [ teradata.createPreparedStatementParam(1, 'String', username), teradata.createPreparedStatementParam(2, 'Int', Number(id)) ]) .then(function(count) { console.log(count); }); ``` ##### Named Parameters ```js var id = 7; var username = 'Foo'; var sql = 'UPDATE MyDatabase.MyTable SET Username = :username WHERE Id = :id'; return teradata.writePreparedStatement(sql, [ teradata.createPreparedStatementParam('id', 'Int', Number(id)), teradata.createPreparedStatementParam('username', 'String', username) ]) .then(function(count) { console.log(count); }); ``` --- See the [docs](https://github.com/2Toad/node-teradata/tree/master/docs) for more information