Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@soinlabs/sybase

SoinLabs281MIT1.1.4TypeScript support: included

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.

database, sybase, jconnect, sql, java

readme

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

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