Skip to content

gantrim/node-teradata

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-teradata

Simple node-jdbc wrapper for teradata with promisified functions

NOTE: I do not claim ownership of, and will not support the teradata jdbc drivers. This package is in no way endorsed by teradata

A simple module to make working with teradata connections in node easier. Most of the work is done by the awesome node-jdbc module. I have simply provided a wrapper to save some time. It allows you to run queries against a teradata database. This wrapper returns bluebird promises to avoid nested callbacks. This module mostly follows the node-jdbc syntax for executing queries.

Setup

Add teradata jars to your Project:

  1. Download Drivers
  2. Create a directory named "jars" at the root of your project
  3. Extract downloaded drivers
  4. Copy "tdgssconfig.jar" and "terajdbc4.jar" into the newly created jars directory

** Alternatively you can make use of the teradataJarPath option and store your jars wherever you like

Install module

npm install teradata

NOTE: on OSX 10.10 with java 8.60 I had to set the CXX environment variable:

export CXX=gcc

then:

npm rebuild

Include module:

var Teradata = require("teradata");

Connect:

Teradata.connect('[url]' ,'[user]', '[password]')
    .then(function () {    
        // you are now connected
     });

You can also specify some options when connecting:

var options = {
    verbose: true,
    teradataJarPath: "[path-to-teradata-jdbc-drivers-directory]"
};
Teradata.connect('[url]' ,'[user]', '[password]')
    .then(function () {    
        // you are now connected
     });

verbose: turns on logging within the teradata package. can be useful for debugging

teradataJarPath: Allows you to store your downloaded Teradata JDBC jars somewhere other than the root of your project directory

Disconnect:

Teradata.disconnect()
    .then(function () {    
        // you are now disconnected
     });

Example Insert

Make sure to change the url, username, password, and insert query. Call .executeUpdate(query) for updates and inserts

    var Teradata = require("teradata");
        
    Teradata.connect('[url]' ,'[user]', '[password]')
        .then(function () {       
            return Teradata.executeUpdate("[insert query]");
        })
        .then(function (update count) {
            console.log("Updated %d records", updateCount);
            return Teradata.disconnect();
        });        

Example Select

Make sure to change the url, username, password, and select query. You can also optionally set a limit by changing [limit]

     var Teradata = require("teradata");
         
     Teradata.connect('[url]' ,'[user]', '[password]')
         .then(function () {       
             return Teradata.executeQuery("[select query]", [limit]);
         })
         .then(function (update count) {
             console.log("Updated %d records", updateCount);
             return Teradata.disconnect();
        });  

Dependencies

node-jdbc

bluebird

chalksay

Teradata jdbc driver

Contribute

Pull requests are welcome and will probably result in quicker changes than issues. Issues are of course welcome, and I will respond ASAP.

License

Module specific code licensed under MIT See Dependencies for included module licenses See Teradata site for JDBC driver

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published