【FileMaker】インポート処理でアプリが強制終了する件の解決方法
インポート機能でFileMakerが落ちてしまうという事象が起きた件、高スペックパソコンで何とか処理させる事が出来たが、解決策にはならず、スクリプトを見直しをしていました。
と言っても、考えても方法がまとまらず、上司に相談してみました。
すると、過去に画像ファイルをインポートをする処理を作った方法を教えていただき、さっそくスクリプトに組み入れることにしました。
これまでは、
・対象となるレコードを検索、対象レコード件数分をまとめてインポートする方法
新しい方法は、
・対象レコードに全置換またはloopでシリアル番号を割り当て、インポート1回で処理するレコード数を決めた計算値入りのフィールドを用意。
シリアル値が割り当てられたら、計算値入りフィールドが計算されます。
現状2万件のレコードを処理させるために1回で処理させるレコード数を1000レコードと設定していますので、1~999レコードは1、1000~1999までは2という感じで計算値入りフィールドに値が入るようになります。
あとはLoop処理で計算値入りフィールドを1から検索して対象レコードを絞込、インポートする。
インポートした後は必ずレコード確定を行って処理させたパソコンのメモリを少しでも解放するようにしました。
この状態で2万件を処理させたところ、前回強制終了したノートパソコンでも、約4時間ほどかかりますが、落ちずに処理させることが出来ました。
ただ、時間がかかりすぎる問題は解決出来ず、期限が迫っている中、今回は処理が落ちない作りにすることが精一杯だったため、速度向上は次回以降に持ち越しとなりました。