Compartir a través de


Rellenado automático de la IPD

Algunos controladores son capaces de establecer los campos del IPD después de preparar una consulta con parámetros. Los campos descriptores se rellenan automáticamente con información sobre el parámetro, incluido el tipo de datos, la precisión, la escala y otras características. Esto equivale a admitir SQLDescribeParam. Esta información puede ser especialmente valiosa para una aplicación cuando no tiene ninguna otra manera de detectarla, como cuando se realiza una consulta ad hoc con parámetros que la aplicación no conoce.

Una aplicación determina si el controlador admite el rellenado automático mediante una llamada a SQLGetConnectAttr con un atributo de SQL_ATTR_AUTO_IPD. Si se devuelve SQL_TRUE, el controlador lo admite y la aplicación puede habilitarlo estableciendo el atributo de instrucción SQL_ATTR_ENABLE_AUTO_IPD en SQL_TRUE.

Cuando se admite y habilita el rellenado automático, el controlador rellena los campos del IPD después de que una llamada a SQLPrepare prepare una instrucción SQL que contenga marcadores de parámetros. Una aplicación puede recuperar esta información mediante una llamada a SQLGetDescField o SQLGetDescRec o SQLDescribeParam. La aplicación puede usar la información para enlazar el búfer de aplicación más adecuado para un parámetro o especificar una conversión de datos para él.

El rellenado automático del IPD podría producir una penalización en el rendimiento. Para desactivarla, una aplicación debe restablecer el atributo de instrucción SQL_ATTR_ENABLE_AUTO_IPD en SQL_FALSE (el valor predeterminado).