ページの先頭行へ戻る
Big Data Integration ServerV1.4.0 検索編アプリケーション開発ガイド
FUJITSU Software

6.4.2 C APIの場合

ダイレクト検索には、ShunSearchKey関数を使用します。

C APIでのダイレクト検索の流れについて、以下の図に示します。


図6.5 ダイレクト検索の流れ


記述例

/* 以下のように用意されていることを仮定しています          */
/* pKey       :ダイレクトアクセスキーを設定する構造体配列 */

SHUNHSTMT StmtH;
/* データ操作ハンドルの割当て */
ShunAllocHandle(ConH, &StmtH);

/* ダイレクトアクセスキーによる検索を実行 */
pKey[0].Key = "20061101,00000001";                                      (1)
pKey[0].Key_Len = strlen( pKey[0].Key );
pKey[1].Key = "20061101,00000002";                                      (1)
pKey[1].Key_Len = strlen( pKey[1].Key );
pKey[2].Key = "20061101,00000003";                                      (1)
pKey[2].Key_Len = strlen( pKey[2].Key );
ShunSearchKey(StmtH, "key1", SHUN_KEY_COMPLETE_MATCH, 3, pKey, "/",
&Return_Cnt, &Rec_Id_Out, &Data, &Key_Out); (2) /* 検索した結果の取出し */ printf("結果件数 = %d\n", Return_Cnt); if(Return_Cnt > 0) { for (i = 0; i < Return_Cnt; i++) { printf("[結果]%d件目 = %s\n", i+1, Data[i].Data); (3) } } /* データ操作ハンドルの解放 */ ShunFreeHandle(StmtH);
ダイレクトアクセスキーの設定

構造体SHUNKEYにダイレクトアクセスキーを設定します。


(1) 検索の実行

ShunSearchKey関数のパラメタに、データ操作ハンドル、ダイレクトアクセスキー名、リターン式、依頼ダイレクトアクセスキー数、依頼ダイレクトアクセスキーの配列を指定して検索を実行します。


ポイント

ShunSearchKey関数では、複数のダイレクトアクセスキーを指定することで、一度に複数のXML文書を取得することもできます。


(2) 検索結果の取出し

ShunSearchKey関数では、検索した結果のアドレスを返却します。

検索した結果は、構造体の配列で構成されていますので、これをもとにデータを取り出します。また、XML文書が存在しない場合、配列の要素であるデータへのポインタにはNULLが、データサイズには0が設定されます。


参照

ダイレクトアクセスのサンプルプログラムは、“G.3.2 ダイレクトアクセスキーを使用してデータを検索する”を参照してください。