0
このコードは動作しています。しかし、無限ループのコメントを外すと結果はありません。 2Gのためのメモリを減らして終了すると、エラーで停止します。単純なストレステストでは、nodejsでFirebirdを実行しましたが、致命的なエラーが発生しました。割り当てに失敗しました - メモリが不足しているJavaScriptヒープ
FATAL ERROR:CALL_AND_RETRY_LASTの割り当てに失敗しました - 私が間違って何をやっているメモリ
のうちJavaScriptのヒープ?
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
あなたはループの中で掘り下げています - あなたはそれを切り離した後、あなたは誰がデータベースを使って作業する予定ですか?クエリカーソル(result?)を閉じてトランザクションをCOMMITする必要がありますが、LASTクエリを実行するまでデータベース接続から切り離すことはほとんどありません –