イメージ、オーディオ、およびビデオ・エクステンダー 管理およびプログラミングの手引き

QBIC カタログに関する情報を取り出す場合

QBIC カタログに関し、次の情報を取り出すことができます。

ユーザー表と列名、フィーチャーの数、および自動カタログ設定を取り出すには、QbGetCatalogInfo API を使用します。

フィーチャー名を取り出すには、QbListFeatures API を使用します。

また、すべての情報を取り出すには、GET QBIC CATALOG INFO コマンドを使用します。

情報を取り出すには、あらかじめ、その QBIC カタログが更新用にオープンされていなければなりません。

API の使用: QbGetCatalogInfo API を使用するときは、QBIC カタログのハンドルを指定する必要があります。 さらに、イメージ・エクステンダーがカタログ情報を戻す構造体をポイントする必要があります。 カタログ情報の構造体は、QBIC のインクルード (ヘッダー) ファイル dmbqapi.h に次のように定義されています。

typedef struct{
          char       tableName[qbiMaxTableName+1]    /* user table */
          char       columnName[qbiMaxColumnName+1]  /* image column */
          SQLINTEGER featureCount;                   /* number of features */
          SQLINTEGER autoCatalog;                    /* auto catalog flag */
} QbCatalogInfo;

QbListFeatures API 呼び出しを使用する場合には、戻されるフィーチャー名を入れるバッファーを割り振る必要があります。 バッファーに保管されるフィーチャー名は、ブランク文字で区切ります。 さらに、カタログ・ハンドルと、戻されるフィーチャー名のバッファー・サイズを指定する必要があります。 必要なバッファー・サイズを見積もるには、QbGetCatalogInfo API で戻されるフィーチャー・カウントを使用して、そのカウントに、最長のフィーチャー名の長さを掛けます。 最も長いフィーチャー名の大きさとして、定数 qbiMaxFeatureName が使用できます。

次の例の API 呼び出しによって、QBIC カタログに関する情報が取り出されます。 QbListFeatures API のバッファー・サイズを計算するのに、QbGetCatalogInfo API によって戻されるフィーチャー数と qbiMaxFeatureName 定数がどのように使用されているかに注目してください。

long  bufSize;
long  count;
char  *featureNames;
 
QbCatalogHandle  CatHdl;
QbCatalogInfo    catInfo;
 
/* Get user table name, image column name, feature count, */
/* and auto catalog setting */
rc=QbGetCatalogInfo(
                CatHdl,                              /* catalog handle */
                &catInfo);                           /* catalog info. structure */
 
/* List feature names */
 
bufSize=catInfo.featureCount*qbiMaxFeatureName;
featureNames=malloc(bufSize);
 
rc=QbListFeatures(
                CatHdl,                       /* catalog handle */
                bufSize                       /* size of buffer */
                count,                        /* feature count */
                featureNames);                /* buffer for feature names */

コマンド行の使用: GET QBIC CATALOG INFO コマンドは、現在オープンされているカタログに対して作用します。 次の例では、このコマンドを使って、現在オープンされている QBIC カタログの情報を取り出します。

GET QBIC CATALOG INFO


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]