アプリケーションが SQLBindCol、 SQLGetData、または SQLBindParameter でSQL_C_DEFAULTを指定する場合、ドライバーは、出力バッファーまたは入力バッファーの C データ型が、バッファーがバインドされている列またはパラメーターの SQL データ型に対応すると見なします。
重要
相互運用可能なアプリケーションでは、SQL_C_DEFAULTを使用しないでください。 代わりに、使用しているバッファーの C 型を常に指定する必要があります。 これは、次の理由により、ドライバーが常に既定の C 型を正しく判断できないからです。
DBMS が列またはパラメーターの SQL データ型を昇格させる場合、ドライバーは列またはパラメーターの元の SQL データ型を判断できません。 そのため、対応する既定の C データ型を特定できません。
特定の列またはパラメーターが署名されているかどうかをドライバーが判断できない場合 (DBMS によって処理される場合によくあります)、ドライバーは、対応する既定の C データ型を署名するか符号なしにするかを判断できません。
SQL_C_DEFAULTはプログラミング上の便宜上のみ提供されるため、アプリケーションは実際の C データ型を指定しても機能を失いません。
各 SQL データ型の既定の C データ型を示すテーブルは、この付録で後述 SQL データ型から C データ型へのデータ変換に含まれています。