Costruzione di un'istruzione SQL (ODBC)
Le applicazioni ODBC eseguono l'accesso al database quasi sempre mediante l'esecuzione delle istruzioni Transact-SQL. Il formato di tali istruzioni dipende dai requisiti dell'applicazione. Le istruzioni SQL possono essere costruite nei modi seguenti:
Hard-coded
Istruzioni statiche eseguite da un'applicazione come attività fissa.
In fase di esecuzione
Istruzioni SQL costruite in fase di esecuzione che consentono all'utente di personalizzare l'istruzione servendosi di clausole comuni, ad esempio SELECT, WHERE e ORDER BY. Sono incluse query ad hoc immesse dagli utenti.
Il driver ODBC di SQL Server Native Client analizza le istruzioni SQL solo per la sintassi ODBC e ISO non supportata direttamente dal Motore di database che il driver trasforma in Transact-SQL. Qualsiasi altra sintassi SQL viene passata senza essere modificata al Motore di database, dove SQL Server ne determina la validità. Questo approccio comporta due vantaggi:
Riduzione dell'overhead
L'elaborazione dell'overhead per il driver viene ridotto al minimo, in quanto l'analisi deve essere eseguita solo per un piccolo set di clausole ODBC e ISO.
Flessibilità
I programmatori possono personalizzare la portabilità delle applicazioni. Per migliorare la portabilità rispetto a più database, utilizzare principalmente la sintassi ODBC e ISO. Per utilizzare miglioramenti specifici di SQL Server, utilizzare la sintassi di Transact-SQL appropriata. Il driver ODBC di SQL Server Native Client supporta la sintassi di Transact-SQL completa, pertanto le applicazioni basate su ODBC possono sfruttare tutte le caratteristiche di SQL Server.
L'elenco di colonne di un'istruzione SELECT deve contenere solo le colonne richieste per eseguire l'attività corrente. In questo modo non solo si riduce la quantità di dati inviati attraverso la rete, ma anche l'effetto delle modifiche del database sull'applicazione. Se in un'applicazione non si fa riferimento a una colonna di una tabella, l'applicazione non viene interessata dalle modifiche apportate alla colonna.