@alt-javascript/jsdbc-teradata
v1.2.0
Published
JSDBC driver for Teradata via teradatasql
Maintainers
Readme
@alt-javascript/jsdbc-teradata
JSDBC driver for Teradata via teradatasql. Full Teradata support through the async JSDBC interface.
Part of the @alt-javascript/jsdbc monorepo.
Install
npm install @alt-javascript/jsdbc-core @alt-javascript/jsdbc-teradataNote:
teradatasqlships a platform-specific prebuilt binary. It requires 64-bit Node.js 18.20.7 or later and supports Windows x64, macOS (Intel and ARM), and Linux x64/ARM64.
Usage
import { DataSource } from '@alt-javascript/jsdbc-core';
import '@alt-javascript/jsdbc-teradata'; // self-registers with DriverManager
const ds = new DataSource({
url: 'jsdbc:teradata://my-teradata-host/mydb',
username: 'myuser',
password: 'mypass',
});
const conn = await ds.getConnection();
const ps = await conn.prepareStatement('SELECT * FROM users WHERE id = ?');
ps.setParameter(1, 42);
const rs = await ps.executeQuery();
console.log(rs.getRows());
rs.close();
await conn.close();URL Scheme
jsdbc:teradata://<host>[:<port>][/<database>]| URL | Description |
|---|---|
| jsdbc:teradata://myhost/mydb | Default port (1025), explicit database |
| jsdbc:teradata://myhost:1025/mydb | Explicit port and database |
| jsdbc:teradata://myhost | Default port, user's default database |
Credentials are passed via DataSource config (username, password). Any additional properties are forwarded to teradatasql.connectAsync() — see the teradatasql docs for the full parameter list (e.g. logmech, encryptdata, logon_timeout).
Placeholder Syntax
JSDBC uses ? placeholders (JDBC convention). Teradata supports ? natively — no conversion is required.
const ps = await conn.prepareStatement(
'INSERT INTO orders (id, status, amount) VALUES (?, ?, ?)'
);
ps.setInt(1, 101);
ps.setString(2, 'pending');
ps.setFloat(3, 49.99);
await ps.executeUpdate();Transactions
await conn.setAutoCommit(false);
try {
const stmt = await conn.createStatement();
await stmt.executeUpdate("INSERT INTO audit_log VALUES (1, 'login')");
await conn.commit();
} catch (err) {
await conn.rollback();
throw err;
} finally {
await conn.close();
}Compatibility
Requires Teradata Database 16.20 or later.
License
MIT
