Registry / database / msnodesqlv8

msnodesqlv8

JSON →
library5.2.0jsnpmunverified

Native ODBC driver for SQL Server and Sybase ASE for Node.js and Electron. Current stable version is 5.2.0, requires Node >=18. Ships prebuilt binaries for Linux (x64, glibc 2.28+, musl), macOS (x64, arm64), and Windows (x64, ia32). Provides high-performance bulk insert (130k+ rows/s), BCP, TVP, streaming, Always Encrypted, stored procedures, prepared statements, connection pooling, and Windows integrated auth. Requires Microsoft ODBC Driver 17 or 18 installed on the host. Differs from tedious (pure JS) and mssql (wrapper) by being a native add-on with superior throughput for bulk operations.

npm install msnodesqlv8
INSTALL
IMPORT
SIG · MSNODESQLV8
M
msnodesqlv8
databasejavascriptv5.2.0
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

sql
import sql from 'msnodesqlv8'
const { sql } = require('msnodesqlv8')
Default import provides all APIs. CommonJS: const sql = require('msnodesqlv8')
promises
const conn = await sql.promises.open(connectionString)
await sql.open(connectionString)
Use sql.promises.open for promise-based API. sql.open is callback-based.
query
await conn.promises.query('SELECT 1')
conn.query('SELECT 1')
conn.promises.query returns a promise. conn.query is the callback version.

Connects to SQL Server using ODBC Driver 18, runs a query to fetch server version, and prints it.

const sql = require('msnodesqlv8'); const connectionString = 'Driver={ODBC Driver 18 for SQL Server};Server=localhost;' + 'Database=master;UID=sa;PWD=yourStrong(!)Password;Encrypt=no'; async function main() { const conn = await sql.promises.open(connectionString); const result = await conn.promises.query('SELECT @@VERSION AS v'); console.log(result.first[0].v); await conn.promises.close(); } main().catch(console.error);
Debug
Known issues
breakingNode >=18 is required starting from msnodesqlv8 5.x. Earlier versions supported Node 12–16.
fix
Upgrade to Node 18 or later. If stuck on older Node, pin to msnodesqlv8@4.x.
affects: >=5.0.0
breakingPromise API moved from sql.promises to sql.promises (nested). Previously some users relied on top-level promise methods that were removed.
fix
Use sql.promises.open() and conn.promises.query() instead of sql.open()/conn.query() with callbacks.
affects: >=2.0.0
deprecatedThe callback-based APIs (sql.open, conn.query) are deprecated in favor of the promise-based APIs.
fix
Switch to sql.promises.open() and conn.promises.query().
affects: >=5.0.0
gotchaOn Linux, the ODBC driver must be installed separately (unixODBC + msodbcsql17/18). Without it, connect fails with 'Data source name not found'.
fix
Install Microsoft ODBC Driver 17 or 18 from Microsoft repos and ensure unixODBC is present.
affects: *
gotchaBCP operations require ODBC Driver 18 and are not available with older drivers or SQL Server Native Client.
fix
Use ODBC Driver 18 for BCP. Set table.setUseBcp(true) before insert.
affects: *
Errors
Common errors & fixes
Error: Failed to connect: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
Missing or incorrectly configured ODBC driver on the host.
fix
Install the Microsoft ODBC Driver for SQL Server and verify it's listed in odbcinst -j.
Error: Cannot find module 'msnodesqlv8'
msnodesqlv8 native addon wasn't built or installed properly.
fix
Reinstall: npm rebuild msnodesqlv8. Ensure Node version >=18 and build tools (Python, C++ compiler) are available.
Error: Connection not open
Using a connection after it has been closed or not awaiting open.
fix
Ensure you await sql.promises.open() and do not call conn.promises.query() after conn.promises.close().
Upgrade
Version history
5.2.0latest on npm
Audit
Dependencies
msnodesqlv8requiredThe CPPSDK binary download and native addon build depend on this package itself and Node-API headers; it's not a separate runtime dependency.
Agent activity
2 hits · last 30 days
node
2
Resources
msnodesqlv8 — npm install msnodesqlv8 · libregistry