У меня есть модуль для машинописи.
public multipleQuery(queries: string[]) {
return new Promise(async (resolve, reject) => {
const cPool = new sql.ConnectionPool(this.room.db);
await cPool.connect().then((pool: any) => {
const transaction = new sql.Transaction(pool);
return transaction.begin(async (err: any) => {
const request = new sql.Request(transaction, { stream: true });
try {
queries.forEach(async (q) => {
await request.query(q);
});
transaction.commit((err2: any) => {
pool.close();
if (err2) {
reject(err2);
} else {
resolve(true);
}
});
} catch (err) {
transaction.rollback(() => {
pool.close();
reject(err);
});
}
});
}).catch((err: Error) => {
cPool.close();
reject(err);
});
});
}
queries
переменная представляет собой массив строк, я поместил в большое количество запросов вставки SQL.
Независимо от того, что я пишу в запросах, я все равно получаю эту ошибку, почему?
RequestError: Запросы могут быть сделаны только в состоянии LoggedIn, а не в
Состояние SentClientRequest TransactionError: Невозможно получить соединение для
запрос. Идет другой запрос.