尝试从 NodeJs 类连接 SQL DB 时,出现错误:
ConnectionError: Connection not yet open
var sql = require("mssql");
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json());
var executeQuery = function(res, query) {
var conn = new sql.ConnectionPool(dbConfig);
conn.connect()
.then(function (pool) {
// create Request object
var request = new sql.Request(pool);
// query to the database
request.query(query, function (err, queryResult) {
if (err) {
console.log(err);
res.send(err);
} else {
res.send(queryResult);
}
});
conn.close();
});
}
最佳答案
您将在处理 request.query 之前关闭连接,因为这是一个异步调用。将 conn.close() 移动到 request.query 的回调中。
var conn = new sql.ConnectionPool(dbConfig);
conn.connect()
.then(function (pool) {
// create Request object
var request = new sql.Request(pool);
// query to the database
request.query(query, function (err, queryResult) {
if (err) {
console.log(err);
res.send(err);
} else {
res.send(queryResult);
}
conn.close();
});
});
}
关于sql - 尝试从 Node.js 创建 SQL 数据库连接时出现连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45648460/