Hitachi

Hitachi Advanced Data Binder AP開発ガイド


19.5.1 a_rdb_CNV_charBINARY()(BINARY型データへの変換)

〈この項の構成〉

(1) 機能

C言語またはC++言語の文字列データ(2進数または16進数)をSQLのBINARY型のデータに変換します。文字列データをBINARY型のデータに変換する場合の例を次の図に示します。

図19‒1 文字列データをBINARY型のデータに変換する場合の例

[図データ]

重要

変換前の文字列データは,次に示す値である必要があります。

  • 変換前の文字列データの形式が2進数の場合

    '0'および'1'

  • 変換前の文字列データの形式が16進数の場合

    '0'〜'9'および'A'〜'F'(または'a'〜'f'')

(2) 形式

#include <adbcnv.h>
 
signed short a_rdb_CNV_charBINARY
(
  char                          *char_Data,         /* In  */
  unsigned int                   char_Length,       /* In  */
  unsigned short                 char_Type,         /* In  */
  unsigned short                 BINARY_Length,     /* In  */
  unsigned char                 *BINARY_Data,       /* Out */
  unsigned short                 BufferLength,      /* In  */
  void                          *Option             /* In  */
)

(3) 引数の説明

char_Data

変換前の文字列データ(C言語またはC++言語の文字列データ)を格納している領域の先頭アドレスを指定します。

char_Length

変換前の文字列データの長さを指定します(単位:バイト)。次の値を指定してください。

  • 変換前の文字列データの形式が2進数の場合

    1〜BINARY_Lengthの値×8

  • 変換前の文字列データの形式が16進数の場合

    1〜BINARY_Lengthの値×2

char_Type

変換前の文字列データの形式を指定します。次のどちらかを指定します。

  • 変換前の文字列データの形式が2進数の場合

    a_rdb_CNV_CHAR_TYPE_BINARY

  • 変換前の文字列データの形式が16進数の場合

    a_rdb_CNV_CHAR_TYPE_HEX

BINARY_Length

変換後のBINARY型データの長さを指定します(単位:バイト)。1〜32,000を指定できます。

BINARY_Data

変換後のBINARY型データを格納する領域の先頭アドレスを指定します。

BufferLength

変換後のBINARY型データを格納する領域の長さを指定します(単位:バイト)。BINARY_Lengthと同じ値を指定してください。

Option

NULLを指定します。値を指定しても無視されます。

(4) 戻り値

  1. a_rdb_CNV_charBINARY()が正常に終了した場合,a_rdb_RC_CNV_SUCCESSが返却されます。

  2. エラーが発生した場合,戻り値にエラーコードが返却されます。エラーコードについては,「19.8 CLI関数の戻り値」を参照してください。

(5) 留意事項

  1. 変換前のデータ格納領域(char_Data)と,変換後のデータ格納領域(BINARY_Data)は重複しないようにしてください。

  2. 変換前の文字列データの長さは,次の条件を満たしている必要があります。

    • 変換前の文字列データの形式が2進数の場合:8の倍数

    • 変換前の文字列データの形式が16進数の場合:2の倍数

  3. 変換前の文字列データをBINARY型データのデータ形式に変換し,格納領域の先頭から格納します。ただし,変換する文字列データの長さが次に示す値より小さい場合は,右側に0x00を補います。

    • 変換前の文字列データの形式が2進数の場合:BINARY_Lengthの値×8

    • 変換前の文字列データの形式が16進数の場合:BINARY_Lengthの値×2