Symfoware Server アプリケーション開発ガイド(埋込みSQL編) - FUJITSU -
|
目次
索引

|
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; |
All Rights Reserved, Copyright(C) 富士通株式会社 2007-2008