После запуска кода все, что я получаю, это консольный журнал "Готово". Ничего не обновляется в базе данных. Что я делаю неправильно?
var pool = new sql.ConnectionPool(config);
var ps = new sql.PreparedStatement(pool);
ps.input('code', sql.VarChar);
ps.input('hex', sql.VarChar);
ps.prepare("UPDATE tHE_SetItem SET acPicture = CONVERT(varbinary(max), @hex, 2) WHERE acIdent = @code;", function(err) {
async.mapSeries(hexes, function(pair, next) {
ps.execute({code: pair.code, hex: pair.hex}, next);
}, function(err) {
ps.unprepare(function(err) {
console.log("Done!");
});
});
});
Как указано в комментарии, я не учитывал обратные вызовы ошибок, которые, в свою очередь, уведомили меня, что я фактически не установил соединение. Вот пересмотренный код.
var pool = new sql.ConnectionPool(config);
pool.connect().then(function(){ // <------------- This in particular
var i = 0;
var ps = new sql.PreparedStatement(pool);
ps.input('code', sql.VarChar);
ps.input('hex', sql.VarChar);
ps.prepare("UPDATE tHE_SetItem SET acPicture = CONVERT(varbinary(max), @hex, 2) WHERE acIdent = @code;", function(err) {
if(err) console.log(err);
async.mapSeries(hexes, function(pair, next) {
i++;
console.log(i + "/" + hexes.length + " " + Math.round(i / hexes.length * 100) + "% - " + pair.code);
ps.execute({code: pair.code, hex: pair.hex}, next);
}, function(err) {
if(err) console.log(err);
ps.unprepare(function(err) {
if(err) console.log(err);
console.log("Done!");
});
});
});
}).catch(function (err) {
console.log(err);
});
err
? Очевидно, что выполняется обратный вызов ошибки, поэтому имеет смысл попробовать это.pool.connect()