Skip to content

@tsdrivers/mssql / MssqlPool

Class: MssqlPool

Defined in: projects/ts-mssql/core/pool.ts:37

A connection pool for SQL Server. Acquire connections or use convenience methods that auto-acquire and release.

Most applications should create a single pool at startup and close it when the application shuts down:

Example

ts
// Create once at startup
const pool = await mssql.createPool(connectionString);

// Use throughout the application lifetime
const users = await pool.query<User>("SELECT * FROM Users");

// Close on shutdown
pool.close();

Implements

  • Disposable
  • AsyncDisposable

Methods

[asyncDispose]()

[asyncDispose](): Promise<void>

Defined in: projects/ts-mssql/core/pool.ts:186

Returns

Promise<void>

Implementation of

AsyncDisposable.[asyncDispose]


[dispose]()

[dispose](): void

Defined in: projects/ts-mssql/core/pool.ts:182

Returns

void

Implementation of

Disposable.[dispose]


bulk()

bulk(table): PoolBulkInsertBuilder

Defined in: projects/ts-mssql/core/pool.ts:156

Create a bulk insert builder. Connection is acquired on execute() and released automatically afterward.

Parameters

table

string

Returns

PoolBulkInsertBuilder


close()

close(): void

Defined in: projects/ts-mssql/core/pool.ts:175

Close the pool and all connections.

Returns

void


connect()

connect(): Promise<MssqlConnection>

Defined in: projects/ts-mssql/core/pool.ts:49

Acquire a connection from the pool.

Returns

Promise<MssqlConnection>


exec()

exec(sql, params?, opts?): Promise<ExecResult>

Defined in: projects/ts-mssql/core/pool.ts:116

Execute a stored procedure using an auto-acquired connection.

Parameters

sql

string

params?

Params

opts?

CommandOptions

Returns

Promise<ExecResult>


execute()

execute(sql, params?, opts?): Promise<number>

Defined in: projects/ts-mssql/core/pool.ts:106

Execute a non-query and return the number of rows affected.

Parameters

sql

string

params?

Params

opts?

CommandOptions

Returns

Promise<number>


filestreamAvailable()

filestreamAvailable(database?): Promise<boolean>

Defined in: projects/ts-mssql/core/pool.ts:169

Check if FILESTREAM is available end-to-end: ODBC driver with FILESTREAM support, server-level configuration, and database-level filegroup.

Parameters

database?

string

Optional database name (with or without square brackets). Defaults to the current connection's database.

Returns

Promise<boolean>


query()

query<T>(sql, params?, opts?): Promise<T[]>

Defined in: projects/ts-mssql/core/pool.ts:62

Execute a query using an auto-acquired connection.

Type Parameters

T

T = Record<string, unknown>

Parameters

sql

string

params?

Params

opts?

CommandOptions

Returns

Promise<T[]>


queryFirst()

queryFirst<T>(sql, params?, opts?): Promise<T | undefined>

Defined in: projects/ts-mssql/core/pool.ts:76

Execute a query and return the first row, or undefined.

Type Parameters

T

T = Record<string, unknown>

Parameters

sql

string

params?

Params

opts?

CommandOptions

Returns

Promise<T | undefined>


querySingle()

querySingle<T>(sql, params?, opts?): Promise<T>

Defined in: projects/ts-mssql/core/pool.ts:86

Execute a query and return exactly one row.

Type Parameters

T

T = Record<string, unknown>

Parameters

sql

string

params?

Params

opts?

CommandOptions

Returns

Promise<T>


queryStream()

queryStream<T>(sql, params?, opts?): Promise<PooledQueryStream<T>>

Defined in: projects/ts-mssql/core/pool.ts:137

Open a streaming query. The connection is held until the stream closes.

Type Parameters

T

T = Record<string, unknown>

Parameters

sql

string

params?

Params

opts?

StreamOptions

Returns

Promise<PooledQueryStream<T>>


scalar()

scalar<T>(sql, params?, opts?): Promise<T | undefined>

Defined in: projects/ts-mssql/core/pool.ts:96

Execute a query and return the first column of the first row.

Type Parameters

T

T = unknown

Parameters

sql

string

params?

Params

opts?

CommandOptions

Returns

Promise<T | undefined>


sql()

sql<T>(strings, ...values): Promise<T[]>

Defined in: projects/ts-mssql/core/pool.ts:126

Tagged template for parameterized queries.

Type Parameters

T

T = Record<string, unknown>

Parameters

strings

TemplateStringsArray

values

...ParamValue[]

Returns

Promise<T[]>