北畑様 ありがとうございます。 IBTransactionで10,000レコード毎、1,000レコード毎のCommitでもいずれ「メモリが足りない」のエラーとなってしまいます。 加藤 -----Original Message----- From: Hiroaki Kitahata Sent: Saturday, November 28, 2020 11:20 PM To: fireb****@lists***** Subject: Re: [Firebird-jp-general] Firebirdのメモリ不足 北畑と申します。 IBTranssction を例えば1000レコード毎に commit したらどうなりますか? 2020/11/28 18:52 Kato <164****@saish*****>: > > 皆様、お世話になります。 > 加藤と申します。 > DelphiXE7で > > Firebird1.5からFirebird2.5へのデータ移行をしています。 > データ量は10年分60万レコード程です。 > いっぺんに行おうとすると「メモリが足りない」とエラーとなるため > 年毎にリストしてfor文でパラメータをIBQueryに設定し旧データを取り出しInsertしてますが、 > 同じく「メモリが足りない」のエラーとなってしまいます。 > for i := 0 to YearList.Count-1 do > begin > Old.Old.ParamByName('mY').AsString:=YearList[i]; > while not Old.eof do begin > insert文 > end; > IBTransaction.Commit; > end; > 年毎を半年ごとに書き換えても同じく「メモリが足りない」のエラーとなってしまいます。 > 「メモリが足りない」のエラー無く完了させる方法は有るでしょうか? > > ちなみにfor文を使用しないで一年分だけを取り出してInsertするのなら問題ありません。 > が10個のボタンが必要となってしまいます。 > > _______________________________________________ > Firebird-jp-general mailing list > Fireb****@lists***** > https://lists.osdn.me/mailman/listinfo/firebird-jp-general > _______________________________________________ Firebird-jp-general mailing list Fireb****@lists***** https://lists.osdn.me/mailman/listinfo/firebird-jp-general