記述子の種類
記述子は、次のいずれかを記述するために使用されます。
0 個以上のパラメーターのセット。 パラメーター記述子は、次の記述に使用できます。
アプリケーション パラメーター バッファー。これには、アプリケーションによって設定された入力動的引数または SQL の CALL ステートメントの実行後の出力動的引数のいずれかが含まれます。
実装パラメーター バッファー。 入力動的引数の場合、アプリケーションが指定できるデータ変換の後に、アプリケーション パラメーター バッファーと同じ引数が含まれます。 出力動的引数の場合、アプリケーションで指定できるデータ変換の前に、返される引数が含まれます。
入力動的引数の場合、動的パラメーター マーカーを含む SQL ステートメントを実行する前に、アプリケーションはアプリケーション パラメーター記述子を操作する必要があります。 入力と出力の両方の動的引数に対して、アプリケーションは実装パラメーター記述子のデータ型とは異なるデータ型を指定して、データ変換を実現できます。
データベース データの 1 行。 行記述子は、次の記述に使用できます。
データベースの 行を格納する 実装行バッファー。 (これらのバッファーには、概念的には、データベースに書き込まれた、またはデータベースから読み取られたデータが含まれます。ただし、データベース データの格納形式は指定されていません。データベースは、実装バッファー内のフォームからデータに対して追加の変換を実行できます。)
アプリケーションで指定できるデータ変換に従って、アプリケーションに提示されるデータ行を格納する アプリケーション行バッファー。
アプリケーションは、データベースの列データをアプリケーション変数に表示する必要がある場合に、アプリケーション行記述子で動作します。 列データのデータ変換を実現するために、アプリケーションは実装行記述子のデータ型とは異なるデータ型を指定できます。
記述子の種類の概要を次の表に示します。
バッファーの種類 | 行数 | 動的パラメーター |
---|---|---|
アプリケーション バッファー | アプリケーション行記述子 (ARD) | アプリケーション パラメーター記述子 (APD) |
実装バッファー | 実装行記述子 (IRD) | 実装パラメーター記述子 (IPD) |
パラメーターまたは行バッファーいずれの場合も、アプリケーションが実装記述子とアプリケーション記述子の対応するレコードで異なるデータ型を指定する場合、ドライバーは記述子を使用するときにデータ変換を実行します。 たとえば、数値と datetime の値を文字列形式に変換できます。 (有効な変換については、「付録 D: データ型」を参照してください。)
記述子は、異なるロールを実行できます。 異なるステートメントは、アプリケーションが明示的に割り当てる任意の記述子を共有できます。 あるステートメントの行記述子は、別のステートメントのパラメーター記述子として使用できます。
データベース操作で記述子がまだ使用されていない場合でも、特定の記述子がアプリケーション記述子か実装記述子かは、常に認識されます。 実装が暗黙的に割り当てる記述子の場合、実装はステートメント ハンドルに関連する定義済みの行を記録します。 SQLAllocHandle を呼び出してアプリケーションが割り当てる記述子は、アプリケーション記述子です。