Isql и osql
isql vs osql
Osql и isql - оба средства связи, позволяющие SQL Server запускать транзакционные SQL-команды. Они важны, поскольку они функционируют аналогично SQL Server Query Analyzer. Как эти два инструмента подключения сравниваются друг с другом?
Osql - это утилита командной строки, основной функцией которой является предоставление интерфейса для запроса на основе ODBC для SQL-сервера. Использование osql заменяет использование isql в API DB-Library. Эта утилита поставляется с Microsoft SQL Server 2000. Ограничения isql исправлены osql.
Среди использования osql пользователи могут интерактивно вводить операторы Transact SQL, которые имитируют командную строку. То, что получено в результате действия, отображается в окне командной строки osql.
Osql также позволяет пользователям выполнять задание, выполняемое osql, которое может либо указывать, является ли один оператор Transact-SQL, либо если оно выполняется, оно указывает точное местоположение, где утилита с текстовым файлом, содержащим инструкции Transact-SQL для выполнение. Вывод osql обычно направляется на текстовый файл, который может отображаться в окне командной строки.
Выполнение утилиты osql может выполняться непосредственно из операционной системы, при этом исключение может быть одним из нескольких случаев. После запуска osql будет принимать инструкции SQL, поскольку он отправляет эти инструкции на сервер. Результаты форматируются и отображаются на экране, а QUIT или EXIT - это команды, используемые для выхода из командной строки.
Невозможность указать имена пользователей при запуске osql заключается в том, что SQL Server 2000 проверяет переменные среды и использует их. Хорошим примером переменных среды, используемых пользователем и сервером. Если переменные окружения не установлены, командная строка приводит к использованию имени рабочей станции.
Isql, с другой стороны, является утилитой, основной функцией которой является возможность ввода инструкций Transact-SQL, а также файлов сценариев и системных процедур. Он использует DB-Library для связи с Microsoft SQL Server 2000.
Isql работает как клиент уровня SQL Server 6.5 при подключении к SQL Server 2000. Однако он не поддерживает некоторые функции SQL Server 2000. Построение isql основано на ODBC и не поддерживает некоторые функции SQL Server 2000. Isql может запускать скрипты, которые osql не может выполнить.
Ограничение, которое isql имеет, заключается в том, что он не поддерживает Unicode, но анализатор SQL Query по умолчанию сохраняет SQL-скрипты в Unicode. Чтобы обойти эту проблему, OSQL является предпочтительным для использования. ANSI также может использоваться, если использовать isql. Еще одно замечание: isql по умолчанию не устанавливает никаких параметров подключения. Как и в osql, отказ указать имя принимает значение isql для переменных среды, а отсутствие переменных окружения приводит к использованию используемого имени рабочей станции.
Резюме
Osql и isql - общие инструменты подключения, используемые в среде SQL. Они позволяют SQL Server запускать транзакционные SQL-команды. Утилита командной строки osql имеет основную функцию предоставления интерфейса для запроса на основе ODBC на SQL-сервер. Osql также позволяет пользователям выполнять выполненную работу. Isql - это утилита, основной функцией которой является использование операторов Transact-SQL. OSQL поддерживает Unicode. Isql не поддерживает Unicode. Он может работать только с форматом ANSI. Оба osql и isql возвращаются к операционной среде, когда имена не указаны, а если нет, они перемещаются, чтобы получить название рабочей станции.