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