DB2 CLI は、アプリケーションと DB2 Everyplace 間のデータの転送および必要な 変換を管理します。データ転送が実際に行われる前に、SQLBindParameter()、SQLBindCol()、 または SQLGetData() の呼び出し時に、ソース、ターゲット、またはその 両方のデータ・タイプが示されます。 これらの関数はシンボル名 (SQL_CHAR およ び SQL_C_CHAR など) を使用して、関連するデータ・タイプを識別します。
例えば、SQL データ・タイプ SQL_VARCHAR に対応するパラメーター・マーカーを、 アプリケーションの長整数の C バッファー・タイプにバインドしたい場合、 適切な SQLBindParameter() 呼び出しは、次のようになります。
SQLBindParameter (hstmt, 1, SQL_PARAM_INPUT, SQL_C_LONG, SQL_VARCHAR, 0, 0, long_ptr, 0, NULL);
表 86 は、C と SQL データ・タイプ間でサポートされるデータ変換 を示しています。表 86 の最初の列には SQL データ・ タイプが含まれています。残りの列は C データ・タイプを示しています。 C データ・タイプの列の文字の意味は次のとおりです。
タイプ変換の際の精度と位取りに関する制限事項、および切り捨てと丸めに関する規則は、 SQL の構文規則に従っています。
SQL データ・タイプ | デフォルトの変換 | サポートされているその他の変換 |
---|---|---|
BLOB | SQL C BINARY | SQL C CHAR |
CHAR | SQL C CHAR |
SQL C LONG SQL C SHORT SQL C TINYINT SQL C TYPE DATE SQL C TYPE TIME SQL C BINARY SQL C BIT SQL C TYPE TIMESTAMP |
DATE | SQL C TYPE DATE | SQL C CHAR |
DECIMAL | SQL C CHAR |
SQL C LONG SQL C SHORT SQL C TINYINT SQL C BIT |
INTEGER | SQL C LONG |
SQL C CHAR SQL C SHORT SQL C TINYINT SQL C FLOAT SQL C DOUBLE SQL C BIT |
SMALLINT | SQL C SHORT |
SQL C CHAR SQL C LONG SQL C TINYINT SQL C FLOAT SQL C DOUBLE SQL C BIT |
TIME | SQL C TYPE TIME | SQL C CHAR |
TIMESTAMP | SQL C TYPE TIMESTAMP | SQL C CHAR |
VARCHAR | SQL C CHAR |
SQL C LONG SQL C SHORT SQL C TINYINT SQL C TYPE DATE SQL C TYPE TIME SQL C BINARY SQL C BIT SQL C TYPE TIMESTAMP |
関連した解説