此代码导致“连接尚未打开”。错误。池已连接并可用于我要更新记录的第一个选择。
处理完数据后,我有一组 UPDATE 语句。然后内联异步函数运行并导致上述错误。
我还尝试使用单个查询运行多个 UPDATE 语句。这会导致 UNKNOWN 错误,除非查询更新数组只有一个数组成员。
这是针对 SQL Server 2000 运行的。
const doQuery = async (pool, sqlStr) => {
return await pool.request().query(sqlStr);
};
const updateResidental = async args => {
let toUpdateSql = `SELECT * FROM blah WHERE blah=blah)`;
const toUpdate = (await doQuery(args.pool, toUpdateSql)).recordset;
const sqlStrings = ['UPDATE blah1;','UPDATE blah2;','UPDATE blah3;'];
(async pool => {
return await Promise.all(sqlStrings.map(async sqlStr => {
return await doQuery(pool, sqlStr);
})).then(results => {
console.log(results);
}).catch(err => {
console.log(err)
});
})(args.pool);
}