{"_id":"@alt-javascript/jsdbc-teradata","name":"@alt-javascript/jsdbc-teradata","dist-tags":{"latest":"1.2.0"},"versions":{"1.2.0":{"name":"@alt-javascript/jsdbc-teradata","version":"1.2.0","description":"JSDBC driver for Teradata via teradatasql","keywords":["jsdbc","jdbc","database","teradata","driver"],"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"homepage":"https://github.com/alt-javascript/jsdbc/tree/main/packages/teradata#readme","repository":{"type":"git","url":"git+https://github.com/alt-javascript/jsdbc.git","directory":"packages/teradata"},"type":"module","main":"index.js","scripts":{"test":"mocha --recursive test/**/*.spec.js"},"dependencies":{"@alt-javascript/jsdbc-core":"*","teradatasql":"^20.0.0"},"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0"},"author":{"name":"Craig Parravicini"},"contributors":[{"name":"Claude","url":"Anthropic"}],"license":"MIT","gitHead":"29c62c831f3b9c6007b21904aba69c61281ffd41","_id":"@alt-javascript/jsdbc-teradata@1.2.0","bugs":{"url":"https://github.com/alt-javascript/jsdbc/issues"},"_nodeVersion":"24.14.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-ERfrMW7UuFMTrWv4SWhbiztxTl1gaPDvcFp2giCUOIMJhimOLv9mcHIilYCWvoC7hDWYKQdaZulSsJxK4yU0oQ==","shasum":"a898f43417df48e05fd8b11608f666eb4260148a","tarball":"https://registry.npmjs.org/@alt-javascript/jsdbc-teradata/-/jsdbc-teradata-1.2.0.tgz","fileCount":9,"unpackedSize":11471,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCZ0UXRZ2ZyZUTwXESAOlk0ozM/bfgvZuUONMl6uJBmQgIhAM5vWV/Ec9lgye+2sagkFB2hIhClfjGY84NCLmXmqAaE"}]},"_npmUser":{"name":"craigparra","email":"craigparra@gmail.com"},"directories":{},"maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/jsdbc-teradata_1.2.0_1774900900840_0.4712804526085468"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-30T20:01:40.766Z","1.2.0":"2026-03-30T20:01:40.979Z","modified":"2026-03-30T20:01:41.163Z"},"maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"description":"JSDBC driver for Teradata via teradatasql","homepage":"https://github.com/alt-javascript/jsdbc/tree/main/packages/teradata#readme","keywords":["jsdbc","jdbc","database","teradata","driver"],"repository":{"type":"git","url":"git+https://github.com/alt-javascript/jsdbc.git","directory":"packages/teradata"},"contributors":[{"name":"Claude","url":"Anthropic"}],"author":{"name":"Craig Parravicini"},"bugs":{"url":"https://github.com/alt-javascript/jsdbc/issues"},"license":"MIT","readme":"# @alt-javascript/jsdbc-teradata\n\n[![Language](https://img.shields.io/badge/language-JavaScript-yellow.svg)](https://developer.mozilla.org/en-US/docs/Web/JavaScript)\n[![npm version](https://img.shields.io/npm/v/%40alt-javascript%2Fjsdbc-teradata)](https://www.npmjs.com/package/@alt-javascript/jsdbc-teradata)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![CI](https://github.com/alt-javascript/jsdbc/actions/workflows/node.js.yml/badge.svg)](https://github.com/alt-javascript/jsdbc/actions/workflows/node.js.yml)\n\nJSDBC driver for [Teradata](https://www.teradata.com/) via [teradatasql](https://www.npmjs.com/package/teradatasql). Full Teradata support through the async JSDBC interface.\n\n**Part of the [@alt-javascript/jsdbc](https://github.com/alt-javascript/jsdbc) monorepo.**\n\n## Install\n\n```bash\nnpm install @alt-javascript/jsdbc-core @alt-javascript/jsdbc-teradata\n```\n\n> **Note:** `teradatasql` ships 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.\n\n## Usage\n\n```javascript\nimport { DataSource } from '@alt-javascript/jsdbc-core';\nimport '@alt-javascript/jsdbc-teradata'; // self-registers with DriverManager\n\nconst ds = new DataSource({\n  url: 'jsdbc:teradata://my-teradata-host/mydb',\n  username: 'myuser',\n  password: 'mypass',\n});\n\nconst conn = await ds.getConnection();\n\nconst ps = await conn.prepareStatement('SELECT * FROM users WHERE id = ?');\nps.setParameter(1, 42);\nconst rs = await ps.executeQuery();\nconsole.log(rs.getRows());\n\nrs.close();\nawait conn.close();\n```\n\n## URL Scheme\n\n```\njsdbc:teradata://<host>[:<port>][/<database>]\n```\n\n| URL | Description |\n|---|---|\n| `jsdbc:teradata://myhost/mydb` | Default port (1025), explicit database |\n| `jsdbc:teradata://myhost:1025/mydb` | Explicit port and database |\n| `jsdbc:teradata://myhost` | Default port, user's default database |\n\nCredentials are passed via `DataSource` config (`username`, `password`). Any additional properties are forwarded to `teradatasql.connectAsync()` — see the [teradatasql docs](https://github.com/Teradata/nodejs-driver) for the full parameter list (e.g. `logmech`, `encryptdata`, `logon_timeout`).\n\n## Placeholder Syntax\n\nJSDBC uses `?` placeholders (JDBC convention). Teradata supports `?` natively — no conversion is required.\n\n```javascript\nconst ps = await conn.prepareStatement(\n  'INSERT INTO orders (id, status, amount) VALUES (?, ?, ?)'\n);\nps.setInt(1, 101);\nps.setString(2, 'pending');\nps.setFloat(3, 49.99);\nawait ps.executeUpdate();\n```\n\n## Transactions\n\n```javascript\nawait conn.setAutoCommit(false);\ntry {\n  const stmt = await conn.createStatement();\n  await stmt.executeUpdate(\"INSERT INTO audit_log VALUES (1, 'login')\");\n  await conn.commit();\n} catch (err) {\n  await conn.rollback();\n  throw err;\n} finally {\n  await conn.close();\n}\n```\n\n## Compatibility\n\nRequires Teradata Database 16.20 or later.\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-58cccc49b128826221c74d2f95a2daa3"}