sql - 尝试从 Node.js 创建 SQL 数据库连接时出现连接错误

标签 sql node.js sql-server-2005

尝试从 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/

相关文章:

mysql - 删除没有主键约束的表中的行

sql - DB2 SYSIBM.SYSTABLES 与 SYSCAT.TABLES

node.js - 编译具有所有功能的 Node.js TypeScript

sql - 如何将此表格中的信息更改为易于使用的表格?

java - 为什么当有很多请求时应用程序会挂起?

sql - Rails - 如何按 ID 范围选择所有记录

mysql - 我的 SQL 查询有什么问题? (没有得到想要的 o/p)

javascript - 值得麻烦地提交 package-lock.json 吗?

node.js - 使用 NodeJS 中的用户对象登录后,将重新生成的 session ID 发送回用户代理

sql - 如何比较两个日期以查找 SQL Server 2005 中的时间差,日期操作