尝试为sql server的nodejs构建microsoft驱动程序时出现以下错误
gyp信息如果以ok结束它是否有效
gyp info使用node-gyp@3.2.1
gyp info使用node@5.3.0 | win32 | 64位
gyp http GET https://nodejs.org/download/release/v5.3.0/node-v5.3.0-headers.tar.gz
gyp WARN安装出错,回滚安装
gyp ERR!配置错误
gyp ERR!堆栈错误:证书链中的自签名证书
gyp ERR!错误堆栈(本机)
gyp ERR!堆栈在TLSSocket.(_tls_wrap.js:1057:38)
gyp ERR!堆栈在emitNone(events.js:67:13)
gyp ERR!堆栈在TLSSocket.emit(events.js:166:7)
gyp ERR!堆栈在TLSSocket._fini
enter code hereshInitgyp ERR!不好 "
我尝试了下面的解决方法,但它工作
1) upgrade your version of npm
npm install npm -g --ca=null
- or -
2) tell your current version of npm to use known registrars
npm config set ca=""
Run Code Online (Sandbox Code Playgroud)
任何人都可以指导我如何解决此证书问题
下面是我正在使用的代码,有时它不输入.then(function(),请让我知道如何关闭现有连接,连接后我尝试了诸如conn.close()之类的各种选项,但它仍然有点工作。
var sql = require("C:/Protractor_Scripts/node_modules/mssql");
function getEmp() {
console.log('results');
var conn = new sql.Connection("Server=, 1433;Database=;User Id=;Password=;Encrypt=true");
console.log(conn);
console.log(conn.connect());
conn.connect().then(function () {
console.log(conn.connect());
var req = new sql.Request(conn);
req.query("select * from").then(function (recordset) {
console.log(recordset);
conn.close();
}).catch(function (err) {
console.log(err);
conn.close();
});
}).catch(function (err) {
console.log(err);
});
}
getEmp();
Run Code Online (Sandbox Code Playgroud)
以下是完整的错误消息
[ConnectionError:已经连接到数据库!在连接到其他数据库之前,请先调用close。
name: 'ConnectionError',
Run Code Online (Sandbox Code Playgroud)
消息:“已连接到数据库!在连接到其他数据库之前,请先调用关闭。',
code: 'EALREADYCONNECTING' }
Run Code Online (Sandbox Code Playgroud)