Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Un búfer diferido es aquel cuyo valor se usa en algún momento después de especificarlo en una llamada de función. Por ejemplo, se usa SQLBindParameter para asociar, o enlazar, un búfer de datos con un parámetro en una instrucción SQL. Especifique el número del parámetro y pase la dirección, la longitud de bytes y el tipo del búfer. El controlador guarda esta información, pero no examina el contenido del búfer. Más adelante, al ejecutar la instrucción , el controlador recupera la información y la usa para recuperar los datos del parámetro y enviarlos al origen de datos. Por lo tanto, la entrada de datos en el búfer es diferida. Dado que los búferes diferidos se especifican en una función y se usan en otra, se trata de un error de programación de la aplicación para liberar un búfer diferido mientras el controlador espera que exista. Para obtener más información, consulte Asignación y liberación de búferes, más adelante en esta sección.
Tipos de búfer diferidos
Tanto los búferes de entrada como los de salida se pueden diferir. La siguiente tabla resume los usos de los búferes diferidos. Tenga en cuenta que los búferes diferidos vinculados a columnas de conjuntos de resultados se especifican con SQLBindCol, y los búferes diferidos vinculados a parámetros de instrucciones SQL se especifican con SQLBindParameter.
| Uso del búfer | Tipo | Especificado con | Usado por |
|---|---|---|---|
| Envío de datos para parámetros de entrada | Entrada diferida | SQLBindParameter |
SQLExecute SQLExecDirect |
| Envío de datos para actualizar o insertar una fila en un conjunto de resultados | Entrada diferida | SQLBindCol |
SQLSetPos SQLBulkOperations |
| Devolver datos para los parámetros de salida y entrada/salida | Salida diferida | SQLBindParameter |
SQLExecute SQLExecDirect |
| Devolver datos del conjunto de resultados | Salida diferida | SQLBindCol |
SQLFetch SQLFetchScroll SQLSetPos |