¿Forma de metadatos utiliza?
Las aplicaciones requieren metadatos para la mayoría de las operaciones de conjunto de resultados. Por ejemplo, la aplicación utiliza el tipo de datos de una columna para determinar qué tipo de variable se ha de enlazar a esa columna. Utiliza la longitud de bytes de una columna de caracteres para determinar cuánto espacio necesita para mostrar datos de esa columna. El modo en que una aplicación determina los metadatos de una columna depende del tipo de la aplicación.
Las aplicaciones verticales funcionan con tablas predefinidas y realizan operaciones predefinidas en esas tablas. Dado que los metadatos de conjunto de resultados para dichas aplicaciones se definen antes incluso de que el desarrollador de aplicaciones escriba y controle la aplicación, pueden estar codificados de forma rígida en la aplicación. Por ejemplo, si una columna Id. 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 utilizadas por la aplicación suele implicar un cambio en el código de la aplicación. Esto rara vez es un problema, ya que estos cambios normalmente se realizan como parte de una nueva versión de la aplicación.
Del mismo modo que las aplicaciones verticales, las aplicaciones personalizadas suelen funcionar con tablas predefinidas y realizan operaciones predefinidas en esas tablas. Por ejemplo, una aplicación podría escribirse para transferir datos entre tres orígenes de datos diferentes. Los datos que se van a transferir normalmente se conocen cuando se escribe la aplicación. Por lo tanto, las aplicaciones personalizadas también tienden a tener metadatos codificados de forma rígida.
Las aplicaciones genéricas, especialmente las que admiten consultas ad hoc, casi nunca conocen los metadatos de los conjuntos de resultados que crean. Por lo tanto, deben detectar los metadatos en tiempo de ejecución mediante las funciones SQLNumResultCols, SQLDescribeCol y SQLColAttribute, que se describen en la sección siguiente, SQLDescribeCol y SQLColAttribute.
Todas las aplicaciones, independientemente de su tipo, pueden codificar de forma rígida los metadatos de los conjuntos de resultados devueltos por las funciones de catálogo. Estos conjuntos de resultados se definen en la sección de referencia de este manual.