Dati restituiti dalle funzioni catalogo

Ogni funzione catalogo restituisce dati come set di risultati. Questo set di risultati non è diverso da qualsiasi altro set di risultati. Viene solitamente generato da un'istruzione predefinita parametrizzata SELECT, che è hardcoded nel driver o archiviata in una procedura nell'origine dati. Per informazioni su come recuperare dati da un set di risultati, vedere È stato creato un set di risultati?.

Il set di risultati per ogni funzione catalogo è descritto nella voce di riferimento di tale funzione. Oltre alle colonne elencate, il set di risultati può contenere colonne specifiche del driver, dopo l'ultima colonna predefinita. Queste colonne (se presenti) sono descritte nella documentazione del driver.

Le applicazioni devono associare colonne specifiche del driver in relazione alla fine del set di risultati. Ovvero, è necessario calcolare il numero di una colonna specifica del driver come numero dell'ultima colonna, recuperato con SQLNumResultCols meno il numero di colonne presenti dopo la colonna richiesta. Ciò consente di non dover modificare l'applicazione quando vengono aggiunte nuove colonne al set di risultati nelle versioni future di ODBC o del driver. Per il funzionamento di questo schema, i driver devono aggiungere nuove colonne specifiche del driver prima delle colonne specifiche del driver precedenti, in modo che i numeri di colonna non cambino rispetto alla fine del set di risultati.

Gli identificatori restituiti nel set di risultati non sono racchiusi tra virgolette, anche se contengono caratteri speciali. Si supponga, ad esempio, che il carattere che racchiude l’identificatore (che è specifico del driver e restituito tramite SQLGetInfo) sia il simbolo delle virgolette doppie (") e che la tabella Accounts Payable contenga una colonna denominata Customer Name. Nella riga restituita da SQLColumns per questa colonna il valore della colonna TABLE_NAME è Accounts Payable, non "Accounts Payable", e il valore della colonna COLUMN_NAME è Customer Name, non "Customer Name". Per recuperare i nomi dei clienti nella tabella Accounts Payable, l'applicazione inserirà tra virgolette i nomi seguenti:

SELECT "Customer Name" FROM "Accounts Payable"  

Per altre informazioni, vedere Identificatori tra virgolette.

Le funzioni catalogo si basano su un modello di autorizzazione simile a quello di SQL, in cui viene stabilita una connessione in base a un nome utente e a una password e vengono restituiti solo i dati per cui l'utente ha un privilegio. La protezione password dei singoli file, che non rientra in questo modello, è definita dal driver.

I set di risultati restituiti dalle funzioni catalogo non sono quasi mai aggiornabili e le applicazioni non dovrebbero aspettarsi di poter modificare la struttura del database modificando i dati in questi set di risultati.