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.
npm install @soinlabs/sybase
- java 1.8+
const Sybase = require('@soinlabs/sybase');
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
});
sybase.connect((err, data) => {
if (err) {
console.error(err);
return;
}
console.log('Connected:', data);
});
const data = await sybase.connectAsync();
console.log('Connected:', data);
sybase.query('SELECT * FROM users', (err, result) => {
if (err) {
console.error(err);
return;
}
console.log('Result:', result);
});
const result = await sybase.querySync('SELECT * FROM users');
console.log('Result:', result);
sybase.disconnect();
The disconnectSync
method allows you to disconnect synchronously from the database and terminates the associated Java process
const sybase = new Sybase(...);
await sybase.disconnectSync();
const isConnected = sybase.isConnected();
console.log(`Is connected: ${isConnected}`);
Executes a series of queries within a transaction. If any of the queries fail, the transaction will be rolled back.
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();