ошибка [Драйвер ODBC Microsoft Access] Открытие большего числа таблиц невозможно

Пытаюсь записать 1700 строк в таблицу Access. Для подключения к базе использую модуль nodejs "ODBC". запросы INSERT создаю в цикле. в базу вставляется 600-700 строк и далее возникает ошибка.
odbcErrors: [ { state: 'HY001', code: -1311, message: '[Microsoft][Драйвер ODBC Microsoft Access] Открытие большего числа таблиц невозможно.' } На форумах VB встречал такую проблему она решалась закрытием какого-то рекордсета. в описании модуля нашел только метод connection.close()/ Пробовал разные варианты: одно соединение, пул соединений, в цикл добавлял connection.close() после каждого запроса, не помогает. Подскажите как решить проблему? вот фрагмент кода:

pool.connect(function (error, conn) {
                modemList.forEach(function (item1, index) {
                    let reqListRes = reqList.filter(function (item2) {
                        return item2['ID_модема'] == item1['ID_модема']
                    });
                    if (reqListRes.length == 0) {
                        if (item1['№_Прибора'] == null) item1['№_Прибора'] = '0';
                        let promise = new Promise(function (resolve, reject) {
                            if (error) throw (error);
                            console.log('INSERT INTO заявки (ID_модема, Адрес,  ном_прибора, дата_последнего_изменения) VALUES (\'' + item1['ID_модема'] + '\',\'' + item1['Адрес'] + '\',\'' +
                                item1['№_Прибора'] + '\', Now())')
                            conn.query('INSERT INTO заявки (ID_модема, Адрес,  ном_прибора, дата_последнего_изменения) VALUES (\'' + item1['ID_модема'] + '\',\'' + item1['Адрес'] + '\',\'' +
                                item1['№_Прибора'] + '\', Now())', function (error, result) {
                                    if (error) throw (error);
                                    resolve(result);
                                });
                        });
                        promiseArr.push(promise);
                    }
                });
                
                Promise.all(promiseArr).then(function () {
                    
                    console.log('new requests done')
                    res.end('requests done')
                }).catch(function (error) {
                    console.log('new requests done with errors')
                    if (error) throw (error);
                });
            });

если в него добавляю con.close(), то после вставки 600-650 строк выходит ошибка "Диспетчер драйверов ODBC] Ошибка SQLSetConnectAttr для драйвера'"

pool.connect(function (error, conn) {
                modemList.forEach(function (item1, index) {
                    let reqListRes = reqList.filter(function (item2) {
                        return item2['ID_модема'] == item1['ID_модема']
                    });
                    if (reqListRes.length == 0) {
                        if (item1['№_Прибора'] == null) item1['№_Прибора'] = '0';
                        let promise = new Promise(function (resolve, reject) {
                            //console.log('функция цикла')
                            if (error) throw (error);
                            console.log('INSERT INTO заявки (ID_модема, Адрес,  ном_прибора, дата_последнего_изменения) VALUES (\'' + item1['ID_модема'] + '\',\'' + item1['Адрес'] + '\',\'' +
                                item1['№_Прибора'] + '\', Now())')

                            conn.query('INSERT INTO заявки (ID_модема, Адрес,  ном_прибора, дата_последнего_изменения) VALUES (\'' + item1['ID_модема'] + '\',\'' + item1['Адрес'] + '\',\'' +
                                item1['№_Прибора'] + '\', Now())', function (error, result) {
                                    if (error) throw (error);
                                    **conn.close(function (error) {
                                        if (error) throw (error);
                                    });**
                                    resolve(result);
                                });
                        });
                        promiseArr.push(promise);
                    }
                });
                
                Promise.all(promiseArr).then(function () {
                    
                    console.log('new requests done')
                    res.end('requests done')
                }).catch(function (error) {
                    console.log('new requests done with errors')
                    if (error) throw (error);
                });
            });

Ответы (0 шт):