Tipos de datos predeterminados de C

Si una aplicación especifica SQL_C_DEFAULT en SQLBindCol, SQLGetData o SQLBindParameter, el controlador asume que el tipo de datos C del búfer de salida o entrada corresponde al tipo de datos SQL de la columna o parámetro al que está enlazado el búfer.

Importante

Las aplicaciones interoperables no deben usar SQL_C_DEFAULT. En su lugar, siempre deben especificar el tipo C del búfer que están usando. Esto se debe a que los controladores no siempre pueden determinar correctamente el tipo de C predeterminado, por los siguientes motivos:

  • Si DBMS promueve un tipo de datos SQL de una columna o parámetro, el controlador no puede determinar el tipo de datos SQL original de una columna o parámetro. Por lo tanto, no puede determinar el tipo de datos de C predeterminado correspondiente.

  • Si el controlador no puede determinar si se firma una columna o parámetro determinado, como suele ser el caso cuando DBMS controla esto, el controlador no puede determinar si el tipo de datos C predeterminado correspondiente debe firmarse o no firmarse.

    Dado que SQL_C_DEFAULT solo se proporciona como una comodidad de programación, la aplicación no pierde ninguna funcionalidad cuando especifica el tipo de datos de C real.

Una tabla que muestra el tipo de datos de C predeterminado para cada tipo de datos SQL se incluye en Convertir datos de SQL a tipos de datos de C, más adelante en este apéndice.