sybjet
TypeScript icon, indicating that this package has built-in type declarations

0.0.8 • Public • Published

Sybase Node.js Bridge

Overview

This library provides a Node.js bridge to connect to a Sybase database. It uses a Java bridge to facilitate the connection and query execution.

Installation

npm install sybjet

Requirements

  • java 1.5+

Usage

Importing the Library

const Sybase = require('sybjet');

Creating a Sybase Instance

const sybase = new Sybase({
  host: 'localhost',
  port: 5000,
  database: 'sybase',
  username: 'username',
  password: 'password',
  logTiming: true,
  pathToJavaBridge: '/path/to/JavaSybaseLink.jar',
  encoding: 'utf8',
  logs: true
});

Connecting to the Database

connect()

sybase.connect((err, data) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log('Connected:', data);
});

connectAsync()

const data = await sybase.connectAsync();
console.log('Connected:', data);

Executing Queries

query(sqlQuery)

sybase.query('SELECT * FROM users', (err, result) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log('Result:', result);
});

querySync(sqlQuery)

const result = await sybase.querySync('SELECT * FROM users');
console.log('Result:', result);

disconnect()

sybase.disconnect();

disconnectSync()

The disconnectSync method allows you to disconnect synchronously from the database and terminates the associated Java process

const sybase = new Sybase(...);
await sybase.disconnectSync();

isConnected()

const isConnected = sybase.isConnected();
console.log(`Is connected: ${isConnected}`);

transaction(queriesFunction)

Executes a series of queries within a transaction. If any of the queries fail, the transaction will be rolled back.

Example

async function main() {
  try {
    const result = await sybase.transaction(async (connection) => {
      const user = await connection.querySync('SELECT * FROM users WHERE id = 1');
      await connection.querySync(`UPDATE users SET name = 'John' WHERE id = 1`);
      return user;
    });
    console.log('Transaction successful, result:', result);
  } catch (err) {
    console.error('Transaction failed:', err);
  }
}

main();

Package Sidebar

Install

npm i sybjet

Weekly Downloads

37

Version

0.0.8

License

MIT

Unpacked Size

1.86 MB

Total Files

46

Last publish

Collaborators

  • vhrechukha