@askdb/sqlserver 0.1.0-beta.12 → 0.1.0-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -1
- package/dist/exec/sqlserver.d.ts +34 -2
- package/dist/exec/sqlserver.d.ts.map +1 -1
- package/dist/exec/sqlserver.js +120 -3
- package/dist/exec/sqlserver.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -53,7 +53,7 @@ const result = await introspect(
|
|
|
53
53
|
{
|
|
54
54
|
mode: "live",
|
|
55
55
|
runner: createSqlServerCatalogQueryRunner(
|
|
56
|
-
"Server=host,1433;Database=mydb;User Id=sa;Password=pass;",
|
|
56
|
+
"Server=host,1433;Database=mydb;User Id=sa;Password=pass;TrustServerCertificate=True;",
|
|
57
57
|
),
|
|
58
58
|
},
|
|
59
59
|
{ outDir: "./my-app.schema", schemaId: "my-app" },
|
|
@@ -61,6 +61,35 @@ const result = await introspect(
|
|
|
61
61
|
);
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
+
### Connection string formats
|
|
65
|
+
|
|
66
|
+
`createSqlServerCatalogQueryRunner` and `databaseUrl` in `askdb.config.ts` accept three formats:
|
|
67
|
+
|
|
68
|
+
| Format | Example |
|
|
69
|
+
|--------|---------|
|
|
70
|
+
| `mssql://` URL | `mssql://sa:pass@localhost:1433/MyDb` |
|
|
71
|
+
| Prisma `sqlserver://` | `sqlserver://localhost:1433;database=MyDb;user=sa;password=pass;encrypt=true` |
|
|
72
|
+
| ADO.NET (`Key=Value;`) | `Server=localhost,1433;Database=MyDb;User Id=sa;Password=pass;` |
|
|
73
|
+
|
|
74
|
+
**TLS / self-signed certificates**
|
|
75
|
+
|
|
76
|
+
SQL Server uses TLS by default. If you connect to a local or dev instance with a self-signed certificate you will see a `self-signed certificate` error unless you tell the driver to trust it:
|
|
77
|
+
|
|
78
|
+
- **`mssql://` URL** — append `?trustServerCertificate=true`:
|
|
79
|
+
```
|
|
80
|
+
mssql://sa:pass@localhost:1433/MyDb?trustServerCertificate=true
|
|
81
|
+
```
|
|
82
|
+
- **Prisma URL** — append `;trustServerCertificate=true`:
|
|
83
|
+
```
|
|
84
|
+
sqlserver://localhost:1433;database=MyDb;user=sa;password=pass;trustServerCertificate=true
|
|
85
|
+
```
|
|
86
|
+
- **ADO.NET string** — add `TrustServerCertificate=True;` (note: use the camelCase form without spaces — `Trust Server Certificate` with spaces is a known parsing gap in mssql v12):
|
|
87
|
+
```
|
|
88
|
+
Server=localhost,1433;Database=MyDb;User Id=sa;Password=pass;Encrypt=True;TrustServerCertificate=True;
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
> **Never set `TrustServerCertificate=True` in production** unless you have verified the server's certificate through another means. Use a properly signed certificate, or install the CA cert in the system trust store (`NODE_EXTRA_CA_CERTS` / `--use-system-ca`).
|
|
92
|
+
|
|
64
93
|
## Captured metadata
|
|
65
94
|
|
|
66
95
|
Tables, views, columns (SQL Server native type strings), primary keys, unique constraints, foreign keys (with referential actions), and indexes.
|
package/dist/exec/sqlserver.d.ts
CHANGED
|
@@ -2,10 +2,42 @@ import type { CatalogQueryRunner } from "@askdb/introspect";
|
|
|
2
2
|
export type { CatalogQueryResult, CatalogQueryRunner } from "@askdb/introspect";
|
|
3
3
|
/** @internal exposed for tests that need to reset the lazy `mssql` cache. */
|
|
4
4
|
export declare function __resetMssqlModuleCacheForTests(): void;
|
|
5
|
+
type MssqlConfigInput = {
|
|
6
|
+
server: string;
|
|
7
|
+
port?: number;
|
|
8
|
+
database?: string;
|
|
9
|
+
user?: string;
|
|
10
|
+
password?: string;
|
|
11
|
+
options?: {
|
|
12
|
+
encrypt?: boolean;
|
|
13
|
+
trustServerCertificate?: boolean;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* mssql v12 uses @tediousjs/connection-string v1.x, which has two known gaps:
|
|
18
|
+
*
|
|
19
|
+
* 1. URL format (`mssql://…`, `sqlserver://…`) — the library is a pure ADO.NET
|
|
20
|
+
* key=value parser and silently produces an empty config, leaving `server`
|
|
21
|
+
* undefined. We detect these schemes and parse them into config objects.
|
|
22
|
+
*
|
|
23
|
+
* 2. ADO.NET multi-word keys with spaces — the library schema uses the no-space
|
|
24
|
+
* form (`trustservercertificate`) but ADO.NET client tools emit keys with
|
|
25
|
+
* spaces (`Trust Server Certificate`). After lowercasing by the parser these
|
|
26
|
+
* never match the schema, so options like TrustServerCertificate are silently
|
|
27
|
+
* dropped. We normalise the affected keys before passing the string to mssql.
|
|
28
|
+
*
|
|
29
|
+
* ADO.NET strings are identified as anything that is not a URL (no `://`).
|
|
30
|
+
*/
|
|
31
|
+
export declare function resolveConnectionInput(connectionString: string): string | MssqlConfigInput;
|
|
5
32
|
/**
|
|
6
33
|
* Build the built-in `mssql`-backed catalog query runner used by live SQL
|
|
7
|
-
* Server introspection.
|
|
8
|
-
*
|
|
34
|
+
* Server introspection. `connectionString` may be:
|
|
35
|
+
* - ADO.NET format: `Server=host,1433;Database=db;User Id=u;Password=p;`
|
|
36
|
+
* - `mssql://` URL: `mssql://user:pass@host:1433/database`
|
|
37
|
+
* - Prisma format: `sqlserver://host:1433;database=db;user=u;password=p`
|
|
38
|
+
*
|
|
39
|
+
* mssql v12+ only understands ADO.NET strings; URL formats are converted to a
|
|
40
|
+
* config object automatically.
|
|
9
41
|
*/
|
|
10
42
|
export declare function createSqlServerCatalogQueryRunner(connectionString: string): CatalogQueryRunner;
|
|
11
43
|
//# sourceMappingURL=sqlserver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlserver.d.ts","sourceRoot":"","sources":["../../src/exec/sqlserver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAsB,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAKhF,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAyDhF,6EAA6E;AAC7E,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD;
|
|
1
|
+
{"version":3,"file":"sqlserver.d.ts","sourceRoot":"","sources":["../../src/exec/sqlserver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAsB,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAKhF,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAyDhF,6EAA6E;AAC7E,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD;AAED,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACnE,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,gBAAgB,CAa1F;AA+HD;;;;;;;;;GASG;AACH,wBAAgB,iCAAiC,CAAC,gBAAgB,EAAE,MAAM,GAAG,kBAAkB,CAE9F"}
|
package/dist/exec/sqlserver.js
CHANGED
|
@@ -55,10 +55,122 @@ async function loadMssqlOrThrow() {
|
|
|
55
55
|
export function __resetMssqlModuleCacheForTests() {
|
|
56
56
|
mssqlModulePromise = undefined;
|
|
57
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* mssql v12 uses @tediousjs/connection-string v1.x, which has two known gaps:
|
|
60
|
+
*
|
|
61
|
+
* 1. URL format (`mssql://…`, `sqlserver://…`) — the library is a pure ADO.NET
|
|
62
|
+
* key=value parser and silently produces an empty config, leaving `server`
|
|
63
|
+
* undefined. We detect these schemes and parse them into config objects.
|
|
64
|
+
*
|
|
65
|
+
* 2. ADO.NET multi-word keys with spaces — the library schema uses the no-space
|
|
66
|
+
* form (`trustservercertificate`) but ADO.NET client tools emit keys with
|
|
67
|
+
* spaces (`Trust Server Certificate`). After lowercasing by the parser these
|
|
68
|
+
* never match the schema, so options like TrustServerCertificate are silently
|
|
69
|
+
* dropped. We normalise the affected keys before passing the string to mssql.
|
|
70
|
+
*
|
|
71
|
+
* ADO.NET strings are identified as anything that is not a URL (no `://`).
|
|
72
|
+
*/
|
|
73
|
+
export function resolveConnectionInput(connectionString) {
|
|
74
|
+
if (connectionString.startsWith("mssql://")) {
|
|
75
|
+
return parseMssqlSchemeUrl(connectionString);
|
|
76
|
+
}
|
|
77
|
+
if (connectionString.startsWith("sqlserver://")) {
|
|
78
|
+
return parsePrismaSqlServerUrl(connectionString);
|
|
79
|
+
}
|
|
80
|
+
// ADO.NET string: normalise multi-word keys that @tediousjs/connection-string
|
|
81
|
+
// v1.x does not recognise in their spaced form.
|
|
82
|
+
if (!connectionString.includes("://")) {
|
|
83
|
+
return normalizeAdoNetString(connectionString);
|
|
84
|
+
}
|
|
85
|
+
return connectionString;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* @tediousjs/connection-string v1.x schema uses camelCase/no-space forms as
|
|
89
|
+
* keys, but ADO.NET clients (VS Code mssql, SSMS) emit the space-separated
|
|
90
|
+
* forms. Map each affected key to the form the schema actually recognises.
|
|
91
|
+
*/
|
|
92
|
+
const ADO_NET_KEY_NORMALISATIONS = [
|
|
93
|
+
[/Trust\s+Server\s+Certificate\s*=/gi, "TrustServerCertificate="],
|
|
94
|
+
[/Application\s+Intent\s*=/gi, "ApplicationIntent="],
|
|
95
|
+
[/Multiple\s+Active\s+Result\s+Sets\s*=/gi, "MultipleActiveResultSets="],
|
|
96
|
+
[/Connect\s+Retry\s+Count\s*=/gi, "ConnectRetryCount="],
|
|
97
|
+
[/Connect\s+Retry\s+Interval\s*=/gi, "ConnectRetryInterval="],
|
|
98
|
+
[/Transparent\s+Network\s+IP\s+Resolution\s*=/gi, "TransparentNetworkIpResolution="],
|
|
99
|
+
];
|
|
100
|
+
function normalizeAdoNetString(connectionString) {
|
|
101
|
+
let result = connectionString;
|
|
102
|
+
for (const [pattern, replacement] of ADO_NET_KEY_NORMALISATIONS) {
|
|
103
|
+
result = result.replace(pattern, replacement);
|
|
104
|
+
}
|
|
105
|
+
return result;
|
|
106
|
+
}
|
|
107
|
+
function parseMssqlSchemeUrl(connectionString) {
|
|
108
|
+
const url = new URL(connectionString);
|
|
109
|
+
const server = url.hostname;
|
|
110
|
+
if (!server) {
|
|
111
|
+
throw new AskDbError("Cannot parse server hostname from SQL Server connection URL. " +
|
|
112
|
+
"Expected format: mssql://USER:PASSWORD@HOST:PORT/DATABASE");
|
|
113
|
+
}
|
|
114
|
+
const port = url.port ? parseInt(url.port, 10) : undefined;
|
|
115
|
+
const database = url.pathname.length > 1 ? url.pathname.slice(1) : undefined;
|
|
116
|
+
const user = url.username ? decodeURIComponent(url.username) : undefined;
|
|
117
|
+
const password = url.password ? decodeURIComponent(url.password) : undefined;
|
|
118
|
+
const encrypt = url.searchParams.get("encrypt");
|
|
119
|
+
const trustCert = url.searchParams.get("trustServerCertificate") ?? url.searchParams.get("TrustServerCertificate");
|
|
120
|
+
return {
|
|
121
|
+
server,
|
|
122
|
+
...(port !== undefined && !Number.isNaN(port) ? { port } : {}),
|
|
123
|
+
...(database ? { database } : {}),
|
|
124
|
+
...(user ? { user } : {}),
|
|
125
|
+
...(password ? { password } : {}),
|
|
126
|
+
options: {
|
|
127
|
+
...(encrypt !== null ? { encrypt: !["false", "0", "no"].includes(encrypt.toLowerCase()) } : {}),
|
|
128
|
+
...(trustCert !== null ? { trustServerCertificate: !["false", "0", "no"].includes(trustCert.toLowerCase()) } : {}),
|
|
129
|
+
},
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
function parsePrismaSqlServerUrl(connectionString) {
|
|
133
|
+
// Prisma format: sqlserver://HOST:PORT;database=DATABASE;user=USER;password=PASSWORD;encrypt=true
|
|
134
|
+
const withoutScheme = connectionString.slice("sqlserver://".length);
|
|
135
|
+
const firstSemiIdx = withoutScheme.indexOf(";");
|
|
136
|
+
const hostPart = firstSemiIdx === -1 ? withoutScheme : withoutScheme.slice(0, firstSemiIdx);
|
|
137
|
+
const paramsPart = firstSemiIdx === -1 ? "" : withoutScheme.slice(firstSemiIdx + 1);
|
|
138
|
+
const colonIdx = hostPart.lastIndexOf(":");
|
|
139
|
+
const server = colonIdx === -1 ? hostPart : hostPart.slice(0, colonIdx);
|
|
140
|
+
const portStr = colonIdx === -1 ? undefined : hostPart.slice(colonIdx + 1);
|
|
141
|
+
const port = portStr ? parseInt(portStr, 10) : undefined;
|
|
142
|
+
if (!server) {
|
|
143
|
+
throw new AskDbError("Cannot parse server hostname from Prisma-style SQL Server URL. " +
|
|
144
|
+
"Expected: sqlserver://HOST:PORT;database=DATABASE;user=USER;password=PASSWORD");
|
|
145
|
+
}
|
|
146
|
+
const params = {};
|
|
147
|
+
for (const part of paramsPart.split(";")) {
|
|
148
|
+
const eqIdx = part.indexOf("=");
|
|
149
|
+
if (eqIdx === -1)
|
|
150
|
+
continue;
|
|
151
|
+
const key = part.slice(0, eqIdx).trim().toLowerCase();
|
|
152
|
+
const value = part.slice(eqIdx + 1).trim();
|
|
153
|
+
if (key && value)
|
|
154
|
+
params[key] = value;
|
|
155
|
+
}
|
|
156
|
+
return {
|
|
157
|
+
server,
|
|
158
|
+
...(port !== undefined && !Number.isNaN(port) ? { port } : {}),
|
|
159
|
+
...(params["database"] ? { database: params["database"] } : {}),
|
|
160
|
+
...(params["user"] ? { user: params["user"] } : {}),
|
|
161
|
+
...(params["password"] ? { password: params["password"] } : {}),
|
|
162
|
+
options: {
|
|
163
|
+
...(params["encrypt"] !== undefined ? { encrypt: params["encrypt"].toLowerCase() === "true" } : {}),
|
|
164
|
+
...(params["trustservercertificate"] !== undefined
|
|
165
|
+
? { trustServerCertificate: params["trustservercertificate"].toLowerCase() === "true" }
|
|
166
|
+
: {}),
|
|
167
|
+
},
|
|
168
|
+
};
|
|
169
|
+
}
|
|
58
170
|
async function runSqlServerCatalogQuery(connectionString, sql, params) {
|
|
59
171
|
const mod = await loadMssqlOrThrow();
|
|
60
172
|
const mssql = mod.default ?? mod;
|
|
61
|
-
const pool = new mssql.ConnectionPool(connectionString);
|
|
173
|
+
const pool = new mssql.ConnectionPool(resolveConnectionInput(connectionString));
|
|
62
174
|
await pool.connect();
|
|
63
175
|
try {
|
|
64
176
|
const request = pool.request();
|
|
@@ -87,8 +199,13 @@ async function runSqlServerCatalogQuery(connectionString, sql, params) {
|
|
|
87
199
|
}
|
|
88
200
|
/**
|
|
89
201
|
* Build the built-in `mssql`-backed catalog query runner used by live SQL
|
|
90
|
-
* Server introspection.
|
|
91
|
-
*
|
|
202
|
+
* Server introspection. `connectionString` may be:
|
|
203
|
+
* - ADO.NET format: `Server=host,1433;Database=db;User Id=u;Password=p;`
|
|
204
|
+
* - `mssql://` URL: `mssql://user:pass@host:1433/database`
|
|
205
|
+
* - Prisma format: `sqlserver://host:1433;database=db;user=u;password=p`
|
|
206
|
+
*
|
|
207
|
+
* mssql v12+ only understands ADO.NET strings; URL formats are converted to a
|
|
208
|
+
* config object automatically.
|
|
92
209
|
*/
|
|
93
210
|
export function createSqlServerCatalogQueryRunner(connectionString) {
|
|
94
211
|
return (sql, params) => runSqlServerCatalogQuery(connectionString, sql, params);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlserver.js","sourceRoot":"","sources":["../../src/exec/sqlserver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAQzC;;;;GAIG;AACH,IAAI,kBAAoD,CAAC;AAEzD,SAAS,yBAAyB,CAAC,KAAc,EAAE,WAAmB;IACpE,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,WAAW,GAAI,KAA6B,CAAC,KAAK,CAAC;IACzD,IAAI,WAAW,IAAI,WAAW,KAAK,KAAK,IAAI,yBAAyB,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC;QAChG,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAI,KAA4B,CAAC,IAAI,CAAC;IAChD,IAAI,IAAI,KAAK,sBAAsB,IAAI,IAAI,KAAK,kBAAkB;QAAE,OAAO,KAAK,CAAC;IACjF,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,mBAAmB;IAChC,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC;YAAE,MAAM,KAAK,CAAC;QAE5D,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACjD,OAAO,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAgB,CAAC;QACrE,CAAC;QAAC,OAAO,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE,OAAO,CAAC;gBAAE,MAAM,YAAY,CAAC;YAC1E,MAAM,IAAI,cAAc,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,oDAAoD,CAAC,CAAC;QACxG,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,kBAAkB,GAAG,mBAAmB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACzD,kBAAkB,GAAG,SAAS,CAAC;YAC/B,MAAM,IAAI,UAAU,CAClB,8FAA8F;gBAC5F,+FAA+F;gBAC/F,sFAAsF;gBACtF,8EAA8E,EAChF,KAAK,CACN,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,+BAA+B;IAC7C,kBAAkB,GAAG,SAAS,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,gBAAwB,EACxB,GAAW,EACX,MAA+B;IAE/B,MAAM,GAAG,GAAG,MAAM,gBAAgB,EAAE,CAAC;IACrC,MAAM,KAAK,GAAI,GAA4C,CAAC,OAAO,IAAI,GAAG,CAAC;IAC3E,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlserver.js","sourceRoot":"","sources":["../../src/exec/sqlserver.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@askdb/sqlserver",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
3
|
+
"version": "0.1.0-beta.13",
|
|
4
4
|
"description": "AskDB Microsoft SQL Server integration: introspection connector via sys.* catalog views and an mssql-backed catalog query runner. Pairs with @askdb/core's SQLSERVER_DIALECT.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"askdb",
|