Estou usando MSSQL para conectar a um banco existente e quando executo:
dbObjects.list(function(error,results){...
volta o seguinte erro:
(node:14540) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): ConnectionError: Connection is closed.
Parece que não está conectando ao DB antes de executar a Query.
Código completo:
module.exports = function(app){
app.get('/object',function(req,res){
var connection = app.infra.connectionFactory();
var dbObjects = new app.infra.ObjectsDBDAO(connection);
dbObjects.list(function(error,results){
console.log("results: \n" + results);
res.render('object/objectListView',{list:results});
});
connection.end;
});
}
ObjectsDBDAO é equivalente ao ProdutoDAO construído em aula. Outra observação, quando coloco connection.end() como um método também retorna um erro.
JS ObjectDBDAO:
function ObjectsDBDAO (connection){
this._connection = connection;
}
ObjectsDBDAO.prototype.list = function(callback){
console.log("QUERY: SELECT * FROM tb_object");
this._connection.query('SELECT * FROM tb_object',callback);
}
module.exports = function(connection){
return ObjectsDBDAO;
}
JS connection factory
var sql = require('mssql');
var fs = require('fs');
var configPath = "./config.json";
var connectMSSQL = function(){
return new sql.Connection(
{
user: "******",
password: "******",
server: "enem4fun.database.windows.net",
port: 1433,
database: "E4F",
options: {
encrypt: true
}
}
);
}
module.exports = function(){
return connectMSSQL;
}
O que pode estar dando erro?