みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつもお世話になっております。
[環境]
FMS13v4
FMP13v3
サーバマシンのスペックはMacMiniServer 2.3GHz Intel core i7(メモリ8GB)
[現象]
Serverで公開しているそれぞれのファイル間でインポートを実行しています。
インポート元には画像を外部保存(オープン)しているフィールドがあり、インポート先は埋め込みのオブジェクトフィールドにしています。
レコード数は約5000件で、2700〜3500件の範囲でインポート中にFMPが強制終了されます。
表示されるメッセージは、
「ホストとの通信が中断され、回復不可能です。影響のあるウインドウはすべて閉じられます。」→FMが応答なしになるので強制終了
もしくは、「Filemaker Pro が予期しない理由で終了しました。」となります。
サーバーのログには「クライアント「○○○」より反応がありません。接続は解除されました。(51)」となっています。
[確認したこと]
オブジェクトフィールドをインポート項目から外したり、インポート元も埋め込み型に設定すると全レコード正常にインポートできますので、
外部保存していることが原因となっているようです。また、ローカルへfmp12形式でエクスポートした場合も同様の現象になります。
・サーバマシンを替えてみたり、サーバ上にFMPをインストールして実行しても強制終了されます。
・修復してアプロードし直したファイルでも強制終了されます。
・バックアップしたfmp12ファイルと画像データをローカルマシンに置いて実行すると正常にインポートできます。
考えが煮詰まってしまって困り果ててます。。。
アドバイスやヒントになるようなことがあれば助かります。
よろしくお願いします。
>インポート元には画像を外部保存(オープン)しているフィールドがあり
>インポート元も埋め込み型に設定すると
オープン格納で埋め込みにしていないって何か利点ありましたっけ。
Offline
オープン格納にすると、DBファイル自体が小さくて済みますので、FMS12以降のハードリンクを利用したバックアップで格段に効率があがりますよ。
デカいオブジェクトを格納するようなDBなら使わない手はありません。
ただし、暗号化の部分で負荷がかかるので、一括処理は厳しいのかもしれませんね。
エラーにならないように、1000レコード毎に処理するとか待機時間を挟むような処理にしてみては如何でしょうか?
旅人さん、とおりすがりさん、レスありがとうございます。
>エラーにならないように、1000レコード毎に処理するとか待機時間を挟むような処理にしてみては如何でしょうか?
1000レコード毎とかでスクリプトを組んで試してみます。
考えが煮詰まってたので助かります。
埋め込み型と言ってるのは「外部保存しない、参照のみにもしない」設定のことでしょう。
オープン格納なら暗号化は関係ないのでは。
ローカルなら問題ないというので、「スクリプトをサーバで実行」にしてみたら。と思ったけど、「.fmp12 へのエクスポートはサポートされていません」という変な制限があってだめだった。
バックアップをドキュメントフォルダにコピーすれば、できるかなあ?
オープン格納なら暗号化は関係ないのでは。
仰る通り!
ごめんなさい。オープン格納と自分でも書きながらセキュア格納って脳内変換しちゃってました。
セキュア格納一押しなんで…(^^;
saverさん、とおりすがりさん、レスありがとうございます。
1000レコード毎に(Loopして)インポートさせましたが、ダメ(強制終了)でした。
5回にわけてインポートする訳ですが、3、4回目のインポートで強制終了になります。
スクリプトではインポートする度に待機時間(一時停止を120秒)を設けたり、
関係ないかもしれませんが「キャッシュをディスクに書き込む」ステップを挟んで処理してみてもダメでした。
↓
強制終了されるタイミングは一定ではなく、インポートする順番を変えても3、4回目で強制終了になります。
↓
手動で1000件づつインポートさせましたが、3、4回目で強制終了になります。
↓
思いきって100件づつのスクリプトにしましたが、28回目で強制終了になりました。
インポートする時の件数ではなくて、インポート先に蓄積された件数が関係するようです。
お手上げです・・・。
メモリの使用状況を見てみたら。
サーバ側に原因があるかもしれないけど、普通切断されても応答なしにはならないんで、クライアントですかねえ?
そんな作業を継続してやる必要があるんですか?1回だけならローカルでやってアップロードすれば済みますよね。
なんでわざわざ埋め込みに?
saverさん、レスありがとうございます。
定期的に別環境の(FMの)別システムに流し込む作業があるんです。
ローカルでやれば済むことなんですが、サーバから手作業でコピー云々をできるだけ自動化できればと・・・。
埋め込みにする理由は、fmp12ファイル一つになるためファイルコピー等が断然早くなるからです。
5000件の画像DB以外に40000件の画像DBもありまして・・・。
運用も考えないといけないですね。
ありがとうございます。
Pages: 1
[ Generated in 0.004 seconds, 9 queries executed - Memory usage: 520.56 KiB (Peak: 525.1 KiB) ]