私のシステム
- データベースのバージョン: 6.1.0
- データベース名: サイベース
- Node.js バージョン:12.18.3
- node-odbc パッケージ バージョン: 2.4.1
- Node.js OS: Windows 10 プロ
不具合
odbc パケットに対して大量のデータを含む同じクエリを何度も起動すると、次のエラーが返されます。「[odbc]データのフェッチ時にメモリの割り当てまたは再割り当てでエラーが発生しました。利用可能な ODBC エラー情報はありません」。結果がサービス応答に返され、変数が消去されているにもかかわらず、各クエリでヒープがいっぱいになります。パラメーター (cursor=true) を使用してクエリを実行し、データを取得せずにカーソルを閉じても問題はありません。テーブルに longvarchar フィールドがある場合、同じ問題が発生します。接続を閉じても、データベースはまだ開いていると表示します。
予想される行動
クエリが次々に実行されるにもかかわらず、システムがメモリ不足になる理由がわかりません。クエリを 1 回実行しても問題は発生しません。
再現する
22 フィールド (2 varchar(32767)) と 5633 レコードを含むテーブルを準備します。接続を開くキーを押してサービスを 15 回呼び出し、テーブルで SELECT クエリを実行し、接続を閉じて結果を返します。