Compartilhar via


Como os metadados são usados?

Os aplicativos exigem metadados para a maioria das operações do conjunto de resultados. Por exemplo, o aplicativo usa o tipo de dados de uma coluna para determinar que tipo de variável associar a essa coluna. Ele usa o comprimento de bytes de uma coluna de caracteres para determinar quanto espaço ele precisa para exibir dados dessa coluna. Como um aplicativo determina os metadados de uma coluna depende do tipo do aplicativo.

Aplicativos verticais funcionam com tabelas predefinidas e executam operações predefinidas nessas tabelas. Como os metadados do conjunto de resultados para esses aplicativos são definidos antes mesmo de o programa ser escrito e controlado pelo desenvolvedor, eles podem ser codificados diretamente na aplicação. Por exemplo, se uma coluna de ID de pedido for definida como um inteiro de 4 bytes na fonte de dados, o aplicativo sempre poderá associar um inteiro de 4 bytes a essa coluna. Quando os metadados são codificados em código no aplicativo, uma alteração nas tabelas usadas pelo aplicativo geralmente implica uma alteração no código do aplicativo. Isso raramente é um problema, pois essas alterações geralmente são feitas como parte de uma nova versão do aplicativo.

Assim como os aplicativos verticais, os aplicativos personalizados geralmente funcionam com tabelas predefinidas e executam operações predefinidas nessas tabelas. Por exemplo, um aplicativo pode ser gravado para transferir dados entre três fontes de dados diferentes; os dados a serem transferidos geralmente são conhecidos quando o aplicativo é gravado. Assim, os aplicativos personalizados também tendem a ter metadados embutidos em código.

Aplicativos genéricos, especialmente aqueles que dão suporte a consultas ad hoc, quase nunca conhecem os metadados dos conjuntos de resultados que eles criam. Portanto, eles devem descobrir os metadados em tempo de execução usando as funções SQLNumResultCols, SQLDescribeCol e SQLColAttribute, que são descritas na próxima seção, SQLDescribeCol e SQLColAttribute.

Todos os aplicativos, independentemente de seu tipo, podem codificar metadados para os conjuntos de resultados retornados pelas funções de catálogo. Esses conjuntos de resultados são definidos na seção de referência deste manual.