Mover datos a variables de programa

Las aplicaciones que obtienen acceso a las bases de datos de SQL Server mediante el uso de una API de base de datos deben mover datos entre las variables de la aplicación y los siguientes elementos:

  • Columnas del conjunto de resultados

    Las aplicaciones deben mover los datos desde las columnas de una fila recuperada de un conjunto de resultados hacia las variables de la aplicación.

  • Códigos de retorno

    Las aplicaciones deben mover los datos desde un código de retorno de un procedimiento almacenado hacia una variable de la aplicación.

  • Parámetros

    Las aplicaciones deben mover datos entre los parámetros de los procedimientos almacenados y las variables de la aplicación. Los parámetros pueden ser de entrada o de salida. Por lo tanto, el movimiento de datos puede darse desde la variable hacia el parámetro o desde el parámetro hacia la variable.

  • Marcadores de parámetros

    Los marcadores de parámetros de ODBC y OLE DB se usan en las instrucciones SQL en lugar de las expresiones de entrada (como en una condición de búsqueda de cláusula WHERE) o de los parámetros y códigos de retorno de los procedimientos almacenados. Las aplicaciones deben mover los datos desde las variables de la aplicación y la expresión sustituida por el marcador de parámetro. Para obtener más información, vea Marcadores de parámetros (motor de base de datos).

Enlace

Muchas API de base de datos usan el concepto de enlace para especificar la forma en la que los datos se deben mover entre una variable de aplicación y el objeto de SQL Server. Las API de base de datos proporcionan funciones a las que puede llamar una aplicación para realizar lo siguiente:

  • Determinar el tipo de datos, el tamaño, la precisión y la escala de una columna del conjunto de resultados, el código de retorno, el parámetro o el marcador de parámetro. Una vez que la aplicación ha recibido esta información, puede asignar una variable o una matriz de variables con atributos compatibles.

  • Enlazar la columna del conjunto de resultados, el código de retorno, el parámetro o el marcador de parámetro a una variable específica o a una matriz de variables. La información de los enlaces normalmente incluye lo siguiente:

    • La dirección y los atributos (tipo de datos, tamaño, precisión y escala) de la variable.

    • El nombre y los atributos del objeto de base de datos.

Los datos generalmente se mueven cuando se realiza una de las siguientes acciones:

  • Se ejecuta una instrucción o un lote de Transact-SQL.

    El proveedor OLE DB o controlador ODBC inserta los datos enlazados a algún parámetro de entrada o marcador de parámetro, y los incluye en el paquete enviado a una instancia de SQL Server.

  • Se recupera una fila del conjunto de resultados.

    El proveedor OLE DB o controlador ODBC mueve los datos de cada columna a las variables enlazadas.

  • Se han recuperado o cancelado todos los conjuntos de resultados de un procedimiento almacenado.

    El proveedor OLE DB o controlador ODBC mueve los datos de cualquier parámetro de salida o código de retorno a sus variables enlazadas.

No es necesario que las variables de aplicación enlazadas tengan el mismo tipo de datos que el objeto SQL Server al que están enlazadas. Si los tipos de datos son distintos, el proveedor OLE DB o el controlador ODBC convierten los datos cuando se mueven. El conjunto de conversiones admitido por cada proveedor OLE DB y controlador ODBC se especifica en la documentación del proveedor o controlador.