固定長バイナリ データ型 (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 ホスト変数を使用する
- .NET Byte ホスト変数を使用する
- PIC X ホスト変数を使用する場合は、ALLOWNULLCHAR 指令を使用してアプリケーションをコンパイルして、null (x"00") が検出された場合にホスト変数との間で転送されるデータの切り捨てを防止します。
- bin-field2の形式は BINARY SQL TYPE を使用します。
- OpenESQL .NET Managed Runtime
- すべてのデータベースおよび OpenESQL に対して有効な定義に加えて、次の定義も OpenESQL .NET Managed Runtime に対して有効となります。
01 bin-field3 type System.Byte[].
01 bin-field4 type System.Byte occurs 200 times.
OpenESQL .NET 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 のd同等機能の代わりに BINARY、VARBINARY、および LONG VARBINARY データ型を戻します。
- IMAGE データ型は、BLOB で表現されます。
- DB2 は LOB (Character Large Object、Binary Large Object、または Graphical Large Object) を使用して、きわめて大きいカラム (最大 2 ギガバイト) を定義します。これらのデータ型とともに静的 SQL を使用することができます。