Skip to content
forked from vhrechukha/sybjet

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

Notifications You must be signed in to change notification settings

SoinLabs/sybase

 
 

Repository files navigation

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 @soinlabs/sybase

Requirements

  • java 1.8+

Usage

Importing the Library

const Sybase = require('@soinlabs/sybase');

Creating a Sybase Instance

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

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();

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 63.7%
  • JavaScript 36.3%