node-firebird-driver-native

Firebird Native Driver for Node.js

Usage no npm install needed!

<script type="module">
  import nodeFirebirdDriverNative from 'https://cdn.skypack.dev/node-firebird-driver-native';
</script>

README

Build Status npm version

Firebird high-level native client for Node.js / TypeScript

node-firebird-driver-native is a modern (Firebird 3+ client, Node.js 10+, TypeScript 2+) native client for Firebird based in the node-firebird-driver API.

Installation

yarn add node-firebird-driver-native

Usage example

import { createNativeClient, getDefaultLibraryFilename } from 'node-firebird-driver-native';


async function test() {
    const client = createNativeClient(getDefaultLibraryFilename());

    const attachment = await client.createDatabase('/tmp/new-db.fdb');
    const transaction = await attachment.startTransaction();

    await attachment.execute(transaction, 'create table t1 (n integer, d date)');
    await transaction.commitRetaining();

    const statement1 = await attachment.prepare(transaction, 'insert into t1 values (?, ?)');
    await statement1.execute(transaction, [1, new Date()]);
    await statement1.execute(transaction, [2, new Date()]);
    await statement1.execute(transaction, [3, new Date()]);
    await statement1.dispose();

    const resultSet = await attachment.executeQuery(transaction, 'select n, d from t1 where n <= ?', [2]);
    const rows = await resultSet.fetch();

    for (const columns of rows)
        console.log(`n: ${columns[0]}, d: ${columns[1]}`);

    await resultSet.close();

    await transaction.commit();
    await attachment.dropDatabase();

    await client.dispose();
}

test().then(() => console.log('Finish...'));

See more examples in packages/node-firebird-driver/src/test directory.

Donation

If this project help you reduce time to develop, you can show your appreciation with a donation.

paypal

BTC: 1Q1W3tLD1xbk81kTeFqobiyrEXcKN1GfHG