Node.js与SQL Server Windows身份validation的连接

我试图在Windows身份validation模式下将node.js连接到mssql 。 我安装了tedious mssqlmsnodesqlv8模块,但是我仍然无法弄清楚如何打开一个连接。

这是我试过的:

  var sql = require('mssql'); var config = { driver: 'msnodesqlv8', server: 'POPPY-GI\\SQLEXPRESS', database: 'NodinSports', options:{ trustedConnection: true, useUTC: true}} sql.connect(config).then(function() { new sql.Request().query('select * from users') .then(function(recordset){ console.log(recordset); }).catch(function(err) { console.log(err);}); }).catch(function(err) { console.log(err);}); 

运行后,我得到一个长的错误说:

  `ConnectionError`: Port for `SQLEXPRESS` not found in `ServerName`;POPPYGI;`InstanceName;SQLEXPRESS;IsClustered`;No;Version;12.0.2000.8;; at Connection.tedious.once.err (D:\Never Lazy\University\`AN2, SEM 2\WEB\`Projek`\node_modules\`mssql`\lib\`tedious.js:216:17`) at Connection.g (events.js:291:16) at emitOne (events.js:96:13) at Connection.emit (events.js:188:7) at D:\Never Lazy\University\AN2,SEM2\WEB\Projekt\node_modules\tedious\lib\connection.js:570:27 at D:\Never Lazy\University\AN2,SEM2\WEB\Projekt\node_modules\tedious\lib\instance-lookup.js:91:24 at Socket.onMessage (D:\Never Lazy\University\AN2,SEM2\WEB\Projekt\node_modules\tedious\lib\sender.js:140:9) at emitTwo (events.js:106:13) at Socket.emit (events.js:191:7) at UDP.onMessage (dgram.js:549:8) code: 'EINSTLOOKUP', 

我会很感激任何帮助。

固定:

services.msc检查是否启用了以下内容:

 SQL Server(*server_name*) -- in my case `SQLEXPRESS` SQL Server Browser SQL Server Agent(*server_name*) -- if you are using `SQLEXPRESS` this doesn't need to run 

在SQL Serverconfigurationpipe理器 – >协议server_name :启用TCP/IP

为了确保一切正常,请检查服务器正在使用的端口(SQL Serverconfigurationpipe理器 – > SQL本机客户端configuration – >客户端协议 – > 双击 TCP/IP – >默认端口),并添加port: *your_port*var config = { ... }的代码。

最后,更改var sql = require('mssql');var sql = require("mssql/msnodesqlv8");