Javascript sql.execute不是节点js和sql server中的函数吗?

Javascript sql.execute不是节点js和sql server中的函数吗?,javascript,sql-server,node.js,Javascript,Sql Server,Node.js,我正在尝试使用node js调用sql server存储过程。但是当我测试这个过程时,我得到一个错误,它说“SQL.EXECUTE”不是一个函数。 这到底是什么意思?我已经用我的c#代码中的以下数据测试了存储过程,它工作得很好,但当我尝试在Node js中调用它时,它显示了错误 var sql = require('mssql'); var config = { user: 'realm', password: 'friend', server: '172.10.3.2

我正在尝试使用node js调用sql server存储过程。但是当我测试这个过程时,我得到一个错误,它说“SQL.EXECUTE”不是一个函数。 这到底是什么意思?我已经用我的c#代码中的以下数据测试了存储过程,它工作得很好,但当我尝试在Node js中调用它时,它显示了错误

var sql = require('mssql');

var config = {
    user: 'realm',
    password: 'friend',
    server: '172.10.3.22\\SQL2014',
    database: 'ElmaTest'
};

var updateMember = function( Country, Distributor,OilMerchant,FileName,CargoType,OperatorID) {
    return sql.execute( { //I get error pointing at this particular line
        procedure: "p_GetAllocationDetail",
        params: {
            Country: {
                type: sql.VARCHAR,
                val: Country
            },
            Distributor: {
                type: sql.VARCHAR,
                val: Distributor
            },
            OilMerchant: {
                type: sql.NVARCHAR,
                val: OilMerchant
            },
            FileName: {
                type: sql.VARCHAR,
                val: FileName
            },
            CargoType: {
                type: sql.VARCHAR,
                val: CargoType
            },
            OperatorID: {
                type: sql.VARCHAR,
                val: OperatorID
            }
        }
    } );
};

function  connecttoDb() {
  //  updateMember("elma","pass1234");
    sql.connect(config, function (err) {

        if (err) console.log("message is for" + err);
        updateMember("Kenya","Total","Oilibya","","","Jessica");
    });
}

module.exports.datavalue = connecttoDb();

根据上下文,您的语法是错误的

应该是

var sql = require('mssql');
/*...*/

new sql.Request()
       .input('Country', sql.VarChar(50), Country)
       .input('Distributor', sql.VarChar(50), Distributor)
       .input( /* .... */)
       .execute('p_GetAllocationDetail').then(function(result) {
           console.dir(result);
       }).catch(function(err) {
           console.dir(err);
       });

简而言之:
sql
对象没有
execute
函数。
sql.Request()
对象的实例有一个
execute()
函数。

您使用的是哪个版本的mssql?2.x还是3.x?