乏味的execSql出现“ cb()不是函数”错误

时间:2019-07-26 10:15:01

标签: javascript node.js sql-server tedious

我正在构建一个API,该API接收一些数据并将其发送到Node.js上的SQL Server。我正在使用乏味的代码,但是却遇到了一个令人烦恼的错误,无法找到解决方案,因此我恳求您的帮助。

我有一个dbController.js文件,其中包含执行对数据库的查询的功能。我导出一个查询函数,该查询函数将实际查询作为参数,然后将其传递给请求对象。但是当我在identityController.js中使用该函数时,它给了我TypeError:

  

cb()不是函数。

我尝试将一个函数传递给该函数的调用,但无济于事。我尝试从dbController.js文件开始执行,仍然是同样的错误。

该错误似乎是由connection.execSql(request);

产生的

dbController.js

'use strict';

var Request = require("tedious").Request;
var ConnectionPool = require("tedious-connection-pool");

var poolConfig = {
    min: 1,
    max: 1,
    log: true
};

var connectionConfig = {
    server: 'localhost',
    userName: '',
    password: '',
    options: {
        database: 'resolveIntegrationDB'
    }
};

var pool = new ConnectionPool(poolConfig, connectionConfig);

pool.on("error", (err) => {
    console.error(err);
});

exports.query = (sql) => {
    pool.acquire(function (err, connection) {
        if (err) {
            console.log(err);
            return;
        }

        let request = new Request(sql, function (err, rowCount) {
            if (err) {
                console.error(err);
                return;
            }
            console.log("rowCount: " + rowCount);

            connection.release();
        });
        request.on('row', function (columns) {

        });
        connection.execSql(request);
    });
};

incidentController.js

exports.getInc = (req, res) => {
    console.log("Hitting the route");
    var sql = "select * from BotEngagements";
    console.log(db.query);
    db.query(sql, function (err) {
        if (err) {
            console.log(err);
        }
    });
}

console.log(db.query)的输出

[Function]

0 个答案:

没有答案