2017-08-12 49 views
0

虽然试图SQL数据库从一类的NodeJS连接SQL数据库连接,我得到一个错误:连接错误,而试图创建的NodeJS

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(); 
    });   
} 

回答

0

你关闭请求之前的连接。查询被处理,因为这是一个异步调用。在request.query的回调中移动conn.close()。

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(); 
     }); 
    });   
}