0
이 코드가 작동합니다. 그러나 무한 루프를 주석 처리하지 않으면 결과가 없습니다. 2G에 대한 메모리를 줄이면 오류로 중지됩니다.간단한 스트레스 테스트를 할 때 nodejs에서 Firebird가 발생했습니다. 치명적인 오류가 발생했습니다 : 할당에 실패했습니다 - 메모리가 부족하여 JavaScript가 쌓여 있습니다.
FATAL ERROR : CALL_AND_RETRY_LAST 할당 실패 - 메모리 내가 잘못 뭐하는 거지
중 자바 스크립트 힙?
var Firebird = require('firebirdsql'); // or require('node-firebird');
var options = {};
options.host = '127.0.0.1';
options.port = 3050;
options.database = 'D:\\test\\test.FDB';
// ...
Firebird.attach(options, function(err, db) {
if (err)
throw err;
// while (1) { // endless loop BEGIN
db.query('SELECT first 1000 a.* FROM EVENTS a ORDER BY a.DATETIME', function(err, result) {
if (err) throw err;
for(r of result) {
console.log(r.datetime, ""+r.event_text);
// console.log(r.DATETIME, ""+r.EVENT_TEXT); // for require('node-firebird');
};
// IMPORTANT: close the connection
db.detach();
});
// } // endless loop END
});
나는이 그렇게 중요하지 않다 생각하지만, 나는 while 루프의 10
저는 결과 세트를 하나씩 인쇄하려고합니다. – TadejP
루프 안에서 DETACH를 수행합니다. 데이터베이스에서 분리 한 후 누가 데이터베이스 작업을 계획합니까? 아마도 쿼리 커서 (result?)를 닫고 트랜잭션을 COMMIT해야하지만 마지막 쿼리를 수행 할 때까지는 데이터베이스 연결을 분리하지 않아야합니다 –