Utilizzo delle funzioni di catalogo

Tutti i database presentano una struttura che contiene i dati archiviati nel database. Una definizione di tale struttura, insieme ad altre informazioni quali le autorizzazioni, è archiviata in un catalogo (implementato come un set di tabelle di sistema), noto anche come dizionario dei dati.

Il driver ODBC di SQL Server Native Client consente a un'applicazione di determinare la struttura del database tramite chiamate alle funzioni di catalogo ODBC. Le funzioni di catalogo restituiscono informazioni nei set di risultati e vengono implementate utilizzando stored procedure di catalogo per eseguire query sulle tabelle di sistema nel catalogo. Un'applicazione potrebbe ad esempio richiedere un set di risultati contenente informazioni su tutte le tabelle del sistema o tutte le colonne di una particolare tabella. Le funzioni di catalogo ODBC standard vengono utilizzate per ottenere informazioni di catalogo dal computer SQL Server al quale è connessa l'applicazione.

SQL Server supporta query distribuite grazie alle quali è possibile accedere con un'unica query ai dati provenienti da più origini dati OLE DB eterogenee. Uno dei metodi di accesso a un'origine dati OLE DB remota consiste nel definire l'origine dati come server collegato. Questa operazione può essere eseguita tramite sp_addlinkedserver. Dopo che è stato definito il server collegato, è possibile fare riferimento agli a oggetti del server nelle istruzioni Transact-SQL utilizzando un nome costituito da quattro parti:

linked_server_name.catalog.schema.object_name.

Il driver ODBC di SQL Server Native Client supporta due funzioni specifiche del driver per il recupero delle informazioni di catalogo dai server collegati:

  • SQLLinkedServers

    Restituisce un elenco dei server collegati definiti nel server locale.

  • SQLLinkedCatalogs

    Restituisce un elenco dei cataloghi presenti in un server collegato.

Dopo aver specificato un nome di server collegato e un nome di catalogo, il driver ODBC di SQL Server Native Client supporta il recupero di informazioni dal catalogo mediante un nome in due parti linked_server_name**.**catalog per CatalogName sulle funzioni di catalogo ODBC seguenti:

  • SQLColumnPrivileges

  • SQLColumns

  • SQLPrimaryKeys

  • SQLStatistics

  • SQLTablePrivileges

  • SQLTables

È supportato anche il nome in due parti linked_server_name**.**catalog per FKCatalogName e PKCatalogName su SQLForeignKeys.

L'utilizzo di SQLLinkedServers e SQLLinkedCatalogs richiede i file seguenti:

  • sqlncli.h

    Include prototipi di funzione e definizioni di costanti per le funzioni di catalogo del server collegato. sqlncli.h deve essere incluso nell'applicazione ODBC e deve trovarsi nel percorso di inclusione quando l'applicazione viene compilata.

  • sqlncli10.lib

    Deve trovarsi nel percorso della libreria del linker e deve essere specificato come file da collegare. sqlncli10.lib viene distribuito con il driver ODBC di SQL Server Native Client.

  • sqlncli10.dll

    Deve essere presente in fase di esecuzione. sqlncli10.dll viene distribuito con il driver ODBC di SQL Server Native Client.