Come vengono utilizzati i metadati?
Le applicazioni richiedono metadati per la maggior parte dei risultati delle delle operazioni set. Per esempio, l'applicazione utilizza il tipo di dati di una colonna per determinare che tipo di variabile associare a quella colonna. L'applicazione utilizza la lunghezza in byte di una colonna carattere per determinare lo spazio necessario per visualizzare i dati della colonna. Il modo in cui un'applicazione determina i metadati per una colonna dipende dal tipo di applicazione.
Le applicazioni verticali utilizzano tabelle predefinite ed eseguono operazioni predefinite in tali tabelle. Poiché i metadati del set di risultati per tali applicazioni vengono definiti ancor prima della scrittura dell’applicazione e vengono controllati dallo sviluppatore, possono essere hardcoded nell'applicazione. Se, per esempio, se una colonna ID ordine viene definita come intero a 4 byte nell'origine dati, l'applicazione associare in qualsiasi momento un intero a 4 byte alla colonna. Quando i metadati sono hardcoded nell'applicazione, una modifica apportata alle tabelle utilizzate dall'applicazione comporta, in genere, una modifica al codice dell'applicazione. Questo raramente è un problema, perché di solito tali modifiche vengono apportate come parte di una nuova versione dell'applicazione.
Analogamente alle applicazioni verticali, le applicazioni personalizzate in genere usano delle tabelle predefinite ed eseguono operazioni predefinite in tali tabelle. Per esempio, un'applicazione potrebbe essere stata scritta per trasferire i dati tra tre origini dati diverse; in genere, i dati da trasferire sono noti quando l'applicazione viene scritta. Di conseguenza, anche le applicazioni personalizzate tendono ad avere metadati hardcoded.
Di solito nelle applicazioni generiche, in particolare in quelle che supportano query apposite, i metadati dei set di risultati creati non sono noti. Pertanto, devono individuare i metadati in fase di esecuzione usando le funzioni SQLNumResultCols, SQLDescribeCol e SQLColAttribute, descritte nella sezione successiva, SQLDescribeCol e SQLColAttribute.
Tutte le applicazioni, indipendentemente dal tipo, possono impostare come hardcoded i metadati per i set di risultati restituiti dalle funzioni catalogo. Questi set di risultati sono definiti nella sezione di riferimento di questo manuale.