ページの先頭行へ戻る
Symfoware Server V10.0.0/V10.0.1 アプリケーション開発ガイド(埋込みSQL編)

3.1.10 BLOB型のコンパイル時の展開方法

ここでは、BLOB型をSQL上で指定する方法について説明します。ホスト変数は、BLOB型を持つ列に代入する値として指定することができます。

ホスト変数は、以下の形式でホストプログラム内に定義する必要があります。

SQL  TYPE  IS  BLOB(<長さ><単位>)  変数名;

<長さ>:以下の範囲の任意の整数を設定
          単位がK の場合:1 ~ 2097152
          単位がM の場合:1 ~ 2048
          単位がG の場合:1 ~ 2
<単位>:K(キロバイト)、M(メガバイト)、G(ギガバイト)

ただし、コンパイル時には、以下のような構造体形式に変換します。Cプログラムは、変換された構造体の変数でデータ操作を行います。

参照

BLOB型の詳細については、“SQLリファレンス”を参照してください。

[32ビットで実行するSQL埋込みCプログラムをコンパイルする場合]

アプリケーション中に以下のように宣言します。

SQL  TYPE  IS  BLOB  (1K)  area;

                  ↓ コンパイル時に構造体に変換します。

struct{
      long            area_reserved;
      unsigned  long  area_length;
      char            area_data[1024];
}area;

[64ビットで実行するSQL埋込みCプログラムをコンパイルする場合]

アプリケーション中に以下のように宣言します。

SQL  TYPE  IS  BLOB  (1K)  area;

                  ↓ コンパイル時に構造体に変換します。

struct{
      int             area_reserved;
      unsigned  int   area_length;
      char            area_data[1024];
}area;