みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
いつも参考にさせていただいています。過去ログなどを検索しましたが理解できないため質問させて頂きます。
FM17+FMS17で作成していますが,ある時点(6/25)以降,バックアップファイルを見るとファイルサイズが倍近くに増えてしまいました。
原因を特定したいのですが,問題の切り分けができません。
商品画像イメージ(オブジェクトフィールド)は全て,外部オープンで保存しています。外部フォルダは500Mでさほど変化ありません。
しかしFMS内のバックアップフォルダの一覧を見ますと
6/24 本体.fmp12 148M + 外部フォルダ500M
6/25 本体.fmp12 653M + 外部フォルダ500M
となっており,
6/25を境に倍近くになっています。サイズ的に見てもイメージファイルが本体.fmp12の本体ファイルに入ってしまっているように思われます。
本体ファイルから,イメージファイルを削除する方法がありますか?
商品情報テーブルのimageフィールドは現在も「外部(オープン)」であることを確認しています。
その他のフィールドは,タイプが計算か数字,日付などのフィールドです。
よろしくおねがいします。
Offline
グローバルオブジェクトフィールドを使用していたりしませんか?
同じ状況ではないかもしれませんが、似たような現象に遭遇したことがあります。
私の場合は以下のような状況でした。
・環境
FileMakerServer15、FileMakerPro15、FileMakerGo15
WindowsServer2012R2、Windows7,8,10、iPhone4
構成はUI専用の共有ファイルに値一覧や入力用(すべてグローバルフィールド)のテーブルがあり、外部データソースにレコードを保存する形で、画像を保存するオブジェクトフィールドはすべて外部オープンに設定してあります。
画像の登録はUI専用ファイルの入力画面で一旦グローバルフィールドに入力し、確定時に外部データソースのレコードにコピーする流れです。
UI専用ファイルには実データが値一覧用のレコードしか存在しないはずなのに、気がつくとファイルサイズが数百MBに肥大化していて更に大きくなりそうな傾向が見られました。
結論から言うと、原因は入力用のグローバルオブジェクトフィールドにありました。
理由は不明ですが、グローバルフィールドに一時的に入力した画像が解放されず、どこかよくわからない場所に保存されていたようです。
グローバルフィールドなので当たり前ですがこの画像データはレコードとして閲覧できず、ファイルの最適化や修復コマンドを実行しても削除できませんでした。
ただ一つ、名前を付けて保存から「データなしのコピー」でのみファイルのスリム化に成功しました。
肥大化を防ぐための修正は次の2点を行っています。
1,グローバルフィールドから保存先レコードへのコピー直後、グローバルフィールドを明示的に空に設定
2,モバイルでの状態復帰用に保存していたフィールド情報・内容から、オブジェクトフィールドを除外
※2については特殊な要件だったので不要かもしれません。
これにより、サイズの肥大化は発生しなくなりました。
Offline
mic さん ご返信ありがとうございます!
遅くなりすみませんでした。
「グローバルフィールドのテーブルがあり、外部データソースにレコードを保存する形で、
画像を保存するオブジェクトフィールドはすべて外部オープンに設定」
私もそのような変更をこの時点で行いました。しかし、商品管理DBではなく、会員管理DBに身分証明の画像の取り込みに関連して、上記のような方法を組み込んだ矢先でした。
しかも、身分証の画像ファイルはサンプルの1.2枚程度をテストで動かしただけです。
しかし、ファイルサイズからして、会員DBより、商品DBのファイルサイズが怪しいと感じたので、問題の切り分けに悩んでいました。
今回は貴重な情報を提供してくださり感謝します。
「名前を付けて保存から「データなしのコピー」でのみファイルのスリム化に成功しました。」ということは、
わたしの苦手意識のある、エクスポートとインポートを繰り返さないと行けなさそうなので、対策を考えていと思います。
いろいろ教えてくださりありがとうございました。
Offline
名前をつけて保存、で、最適化保存を試してみてください。
画像フィールドを作った時に、大きな領域を作ってしまったのでしょうね。
Offline
Shin さん ご返信ありがとうございます!
名前をつけて保存、で、最適化保存を試しました。⇒約100Mほど少なくなりましたが,根本的な解決には至らないようです。
名前を付けて保存から「データなしのコピー」に挑戦したいと思います。
ありがとうございました。
Offline
わたしの苦手意識のある、エクスポートとインポートを繰り返さないと行けなさそうなので、対策を考えていと思います。
一旦エクスポートしなくても、空にしたファイルからインポートでコピー元のファイルを選択すれば、テーブルからテーブルに直接流し込めます。
Offline
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 516.09 KiB (Peak: 520.63 KiB) ]