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.
Los metadatos son datos que describen otros datos. Por ejemplo, los metadatos del conjunto de resultados describen las características de un conjunto de resultados, como el número de columnas del conjunto de resultados, los tipos de datos de esas columnas, sus nombres, precisión y nulabilidad.
ODBC proporciona metadatos a las aplicaciones a través de sus funciones de API de catálogo. El controlador ODBC de SQL Server Native Client implementa muchas de las funciones del catálogo de API odbc como llamadas a un procedimiento de catálogo de SQL Server correspondiente.
Las aplicaciones requieren metadatos para la mayoría de las operaciones del conjunto de resultados. Por ejemplo, la aplicación usa el tipo de datos de una columna para determinar qué tipo de variable se va a enlazar a esa columna. Usa la longitud de bytes de una columna de caracteres para determinar cuánto espacio debe tener para mostrar datos de esa columna. La forma en que una aplicación determina los metadatos de una columna depende del tipo de aplicación.
Normalmente, las aplicaciones verticales funcionan con tablas predefinidas y realizan operaciones predefinidas en esas tablas. Dado que los metadatos del conjunto de resultados para estas aplicaciones se definen antes de que la aplicación se escriba e incluso esté controlada por el desarrollador, se puede codificar de forma rígida en la aplicación. Por ejemplo, si una columna de identificador de pedido se define como un entero de 4 bytes en el origen de datos, la aplicación siempre puede enlazar un entero de 4 bytes a esa columna. Cuando los metadatos están codificados de forma rígida en la aplicación, un cambio en las tablas usadas por la aplicación suele implicar un cambio en el código de la aplicación.
En las aplicaciones genéricas, especialmente las aplicaciones que admiten consultas ad hoc, los metadatos de los conjuntos de resultados que crean suelen ser desconocidos hasta el tiempo de ejecución.
Para determinar las características de un conjunto de resultados, una aplicación puede llamar a:
SQLNumResultCols para determinar cuántas columnas devolvió una solicitud.
SQLColAttribute o SQLDescribeCol para describir una columna en el conjunto de resultados.
Una aplicación bien diseñada se escribe con la suposición de que el conjunto de resultados es desconocido y usa la información devuelta por estas funciones para enlazar las columnas del conjunto de resultados. Una aplicación puede llamar a estas funciones en cualquier momento después de preparar o ejecutar una instrucción. Sin embargo, para obtener un rendimiento óptimo, una aplicación debe llamar a SQLColAttribute, SQLDescribeCol y SQLNumResultCols después de ejecutar una instrucción .
Puede tener varias llamadas simultáneas para los metadatos. El controlador ODBC puede llamar a los procedimientos de catálogo del sistema subyacentes a las implementaciones de la API del catálogo ODBC mientras usa cursores de servidor estáticos. Esto permite a las aplicaciones procesar simultáneamente varias llamadas a funciones de catálogo ODBC.
Si una aplicación usa un conjunto determinado de metadatos más de una vez, probablemente se beneficiará del almacenamiento en caché de la información en variables privadas cuando se obtenga por primera vez. Esto evita llamadas posteriores a las funciones de catálogo ODBC para la misma información, lo que obliga al controlador a realizar recorridos de ida y vuelta al servidor.