既定の C データ型

アプリケーションが SQLBindColSQLGetData、または 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 データ型へのデータの変換」に含まれています。