固定長バイナリ文字列

固定長バイナリ データ型 (RAW、BINARY、および CHAR(x) FOR BIT DATA) は、ドライバーが定義する最大長を持つ SQL データ型です。

ホスト変数形式

OpenESQL
03 bin-field1      PIC X(5).
03 bin-field2      SQL TYPE IS BINARY(200).
  • SQL の BINARY、VARBINARY、および IMAGE データは、COBOL では PIC X (n) フィールドとして表されます。
  • OpenESQL はデータ変換を行いません。
  • データベースからデータをフェッチする際に、フェッチするデータ量よりもホスト変数フィールドが小さい場合は、データが切り捨てられ、SQLCA データ構造体の SQLWARN1 フィールドが「W」に設定されます。ホスト変数フィールドがデータ量がよりも大きい場合は、フィールドの空き部分に NULL 文字 (x"00") が付加されます。
  • 次のいずれかを使用すると、BINARY、VARBINARY、または LONG-VARBINARY 列にデータを挿入できます。
    • 動的 SQL 文を使用する
    • ALLOWNULLCHAR 指令を使用してアプリケーションをコンパイルする
    • SQL TYPE ホスト変数を使用する
    • JVM Byte ホスト変数を使用する
  • PIC X ホスト変数を使用する場合は、ALLOWNULLCHAR 指令を使用してアプリケーションをコンパイルし、null (x"00") を検出した場合にホスト変数との間で転送されるデータの切り捨てを回避します。
  • bin-field2 形式は ROWID SQL TYPE を使用します。
OpenESQL JVM Managed Runtime
すべてのデータベースおよび OpenESQL に対して有効な定義の他に、次の定義も OpenESQL JVM Managed Runtime に対して有効です。
01 bin-field5      type java.lang.byte[].  
01 bin-field6      type java.lang.byte occurs 200 times.

OpenESQL JVM Managed Runtime アプリケーションにはバイト制限はありません。

DB2 ECM
03 bin-field1      PIC X(5).
  • CHAR FOR BIT DATA を使用して BINARY を表します。
  • VARCHAR(n) FOR BIT DATA を使用して VARBINARY を表します。
  • LONG VARCHAR FOR BIT DATA を使用して LONG-VARBINARY を表します。
  • IBM ODBC ドライバーは、IBM の同等機能の代わりに BINARY、VARBINARY、および LONG VARBINARY データ型を戻します。
  • IMAGE データ型は、BLOB で表せます。
  • DB2 は LOB (Character Large Object、Binary Large Object、または Graphical Large Object) を使用して、大容量の列 (最大 2 ギガバイト) を定義します。これらのデータ型では、静的 SQL を使用できます。