Ejecutando un procedimiento almacenado con el error del package NodeJS y MSSQL

Estoy tratando de get el package nodejs MSSQL para devolver los resultados de un procedimiento almacenado desde el server Microsoft SQL utilizando el siguiente código. Sin embargo, el error que recibo es …

[TypeError: Cannot read property 'type' of undefined] 

No estoy seguro de haber hecho las inputs correctamente ya que no pude encontrar un ejemplo con más de una input en línea.

¿Algunas ideas?

 exports.executeSqlStonetworkingProd = function (callback) { var conn = new sqlDb.Connection(settings.dbConfig) conn.connect().then(function () { var req = new sqlDb.Request(conn); req.input('ProductEntryID', req.Int, 3299); req.input('LoginEntryID', req.Int, 4); req.input('TempLoginEntryId', req.Int, -1); req.input('AddToWishList', req.Bit, 0); req.input('WebPortalId', req.Int, 0); req.execute('J_ViewAProduct').then(function(err, recordsets) { console.log(recordsets); callback(recordsets) })}).catch(function(err){ console.log(err); callback(null, err); }); } 

Hice la request con éxito usando el package "Seriate" pero preferiría usar mssql. El código que funcionaba para "Seriate" está debajo.

 exports.getVAP = function(req, resp, pid) { sql.execute({ procedure: "J_ViewAProduct", params: { ProductEntryID: { type: sql.INT, val: pid }, LoginEntryID: { type: sql.Int, val: 4 }, TempLoginEntryId: { type: sql.Int, val: -1 }, AddToWishList: { type: sql.Bit, val: 0 }, WebPortalId: { type: sql.Int, val: 0 } } }).then(function(results){ console.log(results) httpMsgs.sendJSON(req, resp, results) //httpMsgs.sendJSON(req, resp, results[0]) resp.end(); }), function(err){ httpMsgs.show500(req, resp, err) } }; 

Creo que la línea

 req.input('ProductEntryID', req.Int, 3299); req.input('LoginEntryID', req.Int, 4); req.input('TempLoginEntryId', req.Int, -1); req.input('AddToWishList', req.Bit, 0); req.input('WebPortalId', req.Int, 0); 

lo cual ha requerido una respuesta incorrecta, parece.

Por favor testing este código

 var sql = require('mssql'); var config = { user: 'sa', password: '---', server: 'localhost', // You can use 'localhost\\instance' to connect to named instance database: 'Test' } var getCities = function() { var conn = new sql.Connection(config); conn.connect().then(function(conn) { var request = new sql.Request(conn); request.input('City', sql.VarChar(30), 'Cbe'); request.input('NameNew', sql.VarChar(30), 'Cbe'); request.execute('spTest').then(function(err, recordsets, returnValue, affected) { console.dir(recordsets); console.dir(err); }).catch(function(err) { console.log(err); }); }); } getCities(); 

Intenté esto yo mismo y está dando los resultados.