Unterschied zwischen isql und osql

isql vs osql

Osql und isql sind beide Konnektivitätswerkzeuge, mit denen ein SQL Server transact SQL-Befehle ausführen kann. Sie sind von Bedeutung, da sie ähnlich wie der SQL Server Query Analyzer funktionieren. Wie können diese beiden Connectivity-Tools miteinander verglichen werden?

Osql ist ein Befehlszeilendienstprogramm, dessen Hauptfunktion darin besteht, eine Schnittstelle für die ODBC-basierte Abfrage an den SQL-Server bereitzustellen. Die Verwendung von osql ersetzt die Verwendung von isql in der DB-Library-API. Dieses Dienstprogramm wird mit Microsoft SQL Server 2000 geliefert. Die Einschränkungen von isql werden von osql behoben.

Unter anderem können Benutzer interaktiv Transact SQL-Anweisungen eingeben, die die Eingabeaufforderung imitieren. Was als Ergebnis der Aktion empfangen wird, wird im Eingabeaufforderungsfenster von osql angezeigt.

Osql ermöglicht es Benutzern auch, einen von osql ausgeführten Job zu senden, der entweder angeben kann, ob eine einzelne Transact-SQL-Anweisung oder bei der Ausführung genau auf den Speicherort des Dienstprogramms mit einer Textdatei verweist, die Transact enthält. SQL-Anweisungen zur Ausführung. Die Ausgabe von osql wird normalerweise an eine Textdatei geleitet, die in einem Eingabeaufforderungsfenster angezeigt werden kann.

Die Ausführung des osql-Programms kann direkt vom Betriebssystem aus erfolgen, wobei nur die Groß- und Kleinschreibung berücksichtigt werden muss. Beim Start akzeptiert osql SQL-Anweisungen, wenn diese Anweisungen an den Server gesendet werden. Die Ergebnisse werden formatiert und auf dem Bildschirm angezeigt, und QUIT oder EXIT sind die Befehle, die zum Beenden der Befehlszeile verwendet werden.

Fehler beim Angeben von Benutzernamen beim Starten von osql ist, dass der SQL Server 2000 die Umgebungsvariablen überprüft und verwendet. Ein gutes Beispiel für die Umgebungsvariablen verwendete der Benutzer und der Server. Wenn die Umgebungsvariablen nicht festgelegt sind, wird in der Befehlszeile der Name der Arbeitsstation verwendet.

Isql hingegen ist ein Dienstprogramm, dessen Hauptfunktion darin besteht, die Eingabe von Transact-SQL-Anweisungen sowie von Skriptdateien und Systemprozeduren zu ermöglichen. Es verwendet die DB-Bibliothek für die Kommunikation mit dem Microsoft SQL Server 2000.

Isql funktioniert als SQL Server 6. 5-Ebene Client bei Verbindung mit dem SQL Server 2000. Es unterstützt jedoch nicht einige Features von SQL Server 2000. Der Build von isql basiert auf dem ODBC und einige Features von SQL Server 2000 werden nicht unterstützt. Isql kann Skripte ausführen, die osql nicht ausführen kann.

Eine Einschränkung, die isql hat, ist, dass es Unicode nicht unterstützt, aber der SQL Query Analyzer speichert standardmäßig SQL-Skripte in Unicode. Um dieses Problem zu umgehen, wird OSQL zur Verwendung bevorzugt. ANSI kann auch verwendet werden, wenn isql verwendet werden soll. Eine andere Sache zu beachten ist, dass isql keine Verbindungsoptionen standardmäßig festgelegt.Wie bei osql tritt bei fehlgeschlagener Angabe eines Namens isql für die Umgebungsvariablen auf, und fehlende Umgebungsvariablen führen dazu, dass der Name der Arbeitsstation verwendet wird.

Zusammenfassung

Osql und isql sind gängige Konnektivitätswerkzeuge, die in der SQL-Umgebung verwendet werden.
Sie ermöglichen einem SQL Server, Transact SQL-Befehle auszuführen.
Das Befehlszeilendienstprogramm osql hat eine Hauptfunktion zum Bereitstellen einer Schnittstelle für die ODBC-basierte Abfrage zum SQL-Server.
Osql ermöglicht es Benutzern auch, einen ausgeführten Job zu senden.
Isql ist ein Dienstprogramm, dessen Hauptfunktion darin besteht, Transact-SQL-Anweisungen zuzulassen.
OSQL unterstützt Unicode.
Isql unterstützt Unicode nicht. Es kann nur mit ANSI-Format arbeiten.
Sowohl osql als auch isql kehren zur Betriebsumgebung zurück, wenn keine Namen angegeben sind, und wenn nicht, wechseln sie, um den Namen der Arbeitsstation zu übernehmen.