Differenza tra isql e osql

isql vs osql

Osql e isql sono entrambi strumenti di connettività utilizzati per consentire a un server SQL di eseguire comandi SQL transact. Sono importanti, poiché funzionano in modo analogo a Query Analyzer di SQL Server. Come si confrontano questi due strumenti di connettività l'uno con l'altro?

Osql è un'utilità della riga di comando la cui funzione principale è fornire un'interfaccia per la query basata su ODBC al server SQL. L'uso di osql sostituisce l'uso di isql nell'API DB-Library. Questa utility viene fornita con Microsoft SQL Server 2000. Le limitazioni di isql vengono corrette da osql.

Tra gli usi di osql, gli utenti possono inserire in modo interattivo istruzioni Transact SQL, che riproducono il prompt dei comandi. Ciò che viene ricevuto come risultato dell'azione viene mostrato nella finestra del prompt dei comandi di osql.

Osql consente inoltre agli utenti di inviare un lavoro eseguito da osql, che ha la capacità di specificare se una singola istruzione Transact-SQL o se in esecuzione, indica la posizione esatta in cui l'utilità con un file di testo contenente istruzioni Transact-SQL per esecuzione. L'output di osql è normalmente diretto a un file di testo di cui può essere visualizzato in una finestra del prompt dei comandi.

L'esecuzione dell'utilità osql può essere eseguita direttamente dal sistema operativo con diverse opzioni case sensitive che rappresentano le uniche eccezioni. All'avvio, osql accetterà le istruzioni SQL mentre invia queste istruzioni al server. I risultati sono formattati e visualizzati sullo schermo e QUIT o EXIT sono i comandi utilizzati per uscire dalla riga di comando.

La mancata specificazione dei nomi utente all'avvio di osql è che SQL Server 2000 verifica le variabili d'ambiente e le utilizza. Un buon esempio delle variabili ambientali ha utilizzato l'utente e il server. Se le variabili di ambiente non sono impostate, la riga di comando risulta utilizzare il nome del posto di lavoro.

Isql, d'altra parte, è un'utilità la cui funzione principale è consentire l'immissione delle istruzioni Transact-SQL, nonché i file di script e le procedure di sistema. Utilizza DB-Library per comunicare con Microsoft SQL Server 2000.

Isql funziona come un client di livello SQL Server 6.5 quando connesso a SQL Server 2000. Tuttavia, non supporta alcune funzionalità di SQL Server 2000. La build di isql si basa su ODBC e non supporta alcune delle funzionalità di SQL Server 2000. Isql è in grado di eseguire script che osql non è in grado di eseguire.

Una limitazione che isql ha è che non supporta Unicode, tuttavia l'analizzatore SQL Query salva di default gli script SQL in Unicode. Per ovviare a questo problema, OSQL è preferito per l'uso. ANSI può essere usato anche se isql dovrebbe essere usato. Un'altra cosa da notare è che isql non imposta alcuna opzione di connessione per impostazione predefinita. Come accade in osql, l'errore di specificare un nome richiede isql alle variabili di ambiente e la mancanza di variabili di ambiente porta al nome della workstation in uso.

Sommario

Osql e isql sono strumenti di connettività comuni utilizzati nell'ambiente SQL.
Consentono a un server SQL di eseguire comandi SQL transact.
L'utilità della riga di comando osql ha una funzione principale di fornire un'interfaccia per la query basata su ODBC al server SQL.
Osql consente inoltre agli utenti di inviare un lavoro eseguito.
Isql è un'utilità la cui funzione principale è consentire le istruzioni Transact-SQL.
OSQL supporta Unicode.
Isql non supporta Unicode. Funziona solo con il formato ANSI.
Sia osql che isql tornano all'ambiente operativo quando i nomi non sono specificati e, in caso contrario, si spostano per prendere il nome della stazione di lavoro.