4D v14

BLOB

ホーム

 
4D v14
BLOB

BLOB    


 

 

ビデオで説明されている操作の他、以下の点についても留意してください:

BLOBについてよく聞かれる質問があります:

  • これは何をするためのもので、どのような場合に使用すればよいのでしょうか
  • BLOBになんでも入れられることは分かりました。でもどうやって?またどうやって取り出せばよいのでしょうか

まず2つ目の質問に取り組んでみましょう:

BLOBでは任意のバイトにアクセスできますが、ほとんどのケースでFIFO (First In First Out) と呼ばれる手法を採用することになります。つまりBLOBに入れた順番にBLOBからデータを取り出すのです。

例えば以下のようになります:
  • 倍長整数 4 byte
  • 日付 6 byte
  • テキスト (内容やフォーマットにより可変)

これらのデータを読み出すには、この順番を使用します。つまり最初に倍長整数を読み出します。読みだす値を受け取る変数は、格納された値に対応していなければなりません。

一番目の問い (BLOBの目的は) への答えは以下の通りです:

  • 変数やリスト、配列を格納する
  • クライアントサーバー間でドキュメントを転送する
  • BLOBを暗号化することで内容を保護する
  • 変数の内容を保存する
  • Webサーバーからピクチャー、テキスト、ドキュメントなど任意のタイプのレスポンスを返信する

VARIABLE TO BLOBコマンドは4Dの内部的なフォーマットでデータをBLOBに格納します。このときデータに関する情報が付加されるため、BLOBのサイズはデータの実サイズよりも多く増大します。このコマンドの利点は4D内部でBLOBを使用する限り、バイトスワップを気にする必要がないということです。

BLOBに値を格納する際、BLOBのアドレスを指定する代わりに * 引数を指定すると、4Dは自動でBLOBの最後にデータを追加します。

例としてデータベースの環境設定を保存し、読み込むケースを考えてみましょう:
  • 初期画面
  • 背景色
  • 文字フォント名とサイズ

  • これらは環境設定として、ユーザーが変更することも可能です。

これらを保存するため複数の方法が考えられます (テーブルレコード、テキストファイル、XML等)。

もちろんBLOBを使用することもできます。BLOBをディスクファイルに読み書きするにはBLOB TO DOCUMENTDOCUMENT TO BLOBコマンドを使用します。

転送時間を削減するため、BLOBを圧縮することもできます。ただし4Dのコマンドでは255 byteより大きなBLOBしか圧縮されない点に留意してください。

BLOBを解凍する際、その前にBLOBが圧縮されたものかどうかを確認してください。圧縮されていないBLOBを解凍しようとするとエラーになります。

 
 

 
プロパティ 

プロダクト: 4D
テーマ: BLOB

 
ARTICLE USAGE

セルフトレーニング ( 4D v13)
セルフトレーニング ( 4D v14)