2017-12-30 258 views
5

buduję proste usługi REST z node.jsTypeError: sqlDb.Connection nie jest konstruktorem w Rest Służby użyciu node.js

Kiedy wysłać GET żądanie dostaję błąd mówiąc:

TypeError: sqlDb.Connection is not a constructor at Object.exports.executeSql

Oto mój kod.

settings.js

exports.dbConfig = { 
    user: "sa", 
    password: "sam", 
    server: "localhost\\1433", 
    database: "SampleDb", 
    port: 1433 
}; 
exports.webPort = 9000; 

db.js

var sqlDb = require("mssql"); 
var settings = require("../settings"); 

exports.executeSql = function(sql, callback) { 

    var conn = new sqlDb.Connection(settings.dbConfig); 
    conn.connect() 
    .then(function() { 
    var req = new sqlDb.Request(conn); 
    req.query(sql) 
    .then(function(recordset) { 
     callback(recordset); 
    }) 
    .catch(function(err) { 
     console.log(err); 
     callback(null, err); 
    }); 
    }) 
    .catch(function(err) { 
    console.log(err); 
    callback(null, err); 
    }); 
}; 

employee.js

var db = require("../core/db"); 
exports.getList = function(req, resp) { 
    db.executeSql("SELECT * FROM emp", function(data, err) { 
    if (err) { 
     resp.writeHead(500, "Internal Error Occoured", { 
     "Content-type": "text/html" 
     }); 
     resp.write("<html><head><title>500</title></head><body>500: Internal Error, Details:" + err + "</body></html>"); 
     resp.end(); 
    } else { 
     resp.writeHead(200, { 
     "Content-Type": "application/json" 
     }); 
     resp.write(JSON.stringify(data)); 
    } 
    resp.end(); 
    }); 
}; 
+1

masz na myśli użycie 'ConnectionPool'? –

+0

To działało. Mam na myśli stary samouczek, czy to jest nowe słowo kluczowe? Ponieważ w samouczku mówi się użyć> Połączenie –

+1

https://www.npmjs.com/package/mssql#3x-to-4x-changes –

Odpowiedz