Symfoware(R) Server RDBユーザーズガイド 応用プログラム開発編 - FUJITSU -
目次 索引 前ページ次ページ

上へ第2章 データベースを処理する応用プログラムの開発の概要
上へ2.1 SQL埋込みCプログラムの作成方法

2.1.10 BLOB型の翻訳時の展開方法

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

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

[図:Cプログラムに定義する例]

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

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

ただし、翻訳時には、図:BLOB型を構造体形式に変換した例のような構造体形式に変換します。Cプログラムは、変換された構造体の変数でデータ操作を行います。

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

[図:BLOB型を構造体形式に変換した例]

[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;

備考. 64ビットマシンで実行するSQL埋込みCプログラムは、Symfoware Server Enterprise Extended Editionでのみ翻訳できます。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 2003-2004