Каковы различия между osql, isql и sqlcmd? - PullRequest
30 голосов
/ 03 декабря 2008

Я заинтересован в использовании какой-либо утилиты командной строки для SQL Server, похожей на Oracle SQL * Plus. В SQL Server есть несколько параметров: osql, isql и sqlcmd. Однако я не совсем уверен, какой из них использовать.

Все ли они по сути делают одно и то же? Есть ли ситуации, когда предпочтительнее использовать одну над другими?

Ответы [ 4 ]

32 голосов
/ 03 декабря 2008

Используйте sqlcmd - это наиболее полнофункциональный продукт.

  • sqlcmd : новейший и модный интерфейс командной строки для SQL Server.
  • isql : более старый способ DB-Library (собственный протокол SQL Server) для связи с SQL Server из командной строки.
  • osql : более старый, основанный на ODBC способ связи командной строки с SQL Server.

РЕДАКТИРОВАТЬ: Времена изменились с тех пор, как я ответил на это пару лет назад. В настоящее время вы также можете использовать командлет invoke-sqlcmd в PowerShell. Если вы привыкли к PowerShell или планируете создавать какие-либо сценарии любой сложности, используйте это вместо этого.

9 голосов
/ 03 декабря 2008

Я не уверен, какова сфера вашего вопроса, но я верю:

isql использовал DB-Library для связи с сервером и больше не включается после SQL2000

osql использовал ODBC для связи с сервером и больше не включается после SQL2005

sqlcmd использовал OLE DB для связи с сервером и в настоящее время является рекомендуемым средством командной строки.

5 голосов
/ 26 августа 2011

Всегда лучше использовать SQLCMD вместо OSQL или ISQL, если у вас есть SQL SERVER 2005, в противном случае используйте OSQL вместо ISQL.

Microsoft ранее объявила, что ISQL находится на выходе. Конечно же, ISQL не включен в RTM-версию SQL Server 2005. OSQL в конечном итоге также будет прекращен, хотя он все еще включен в двоичную установку SQL Server 2005. Учитывая исторический цикл выпуска SQL Server, возможно, OSQL предложит нам цену в 2010 году.

SQLCMD имеет много преимуществ, как показано ниже:

  • 1) Мудрое исполнение
  • 2) SQLCMD поддерживает параметризованные переменные
  • 3) Поддержка SQLCMD Настраиваемый редактор
  • 4): XML [ONOFF]
  • 5): ошибка STDERRSTDOUT
  • 6): Perftrace STDERRSTDOUT
  • 7) Подключение к удаленному выделенному администратору (DAC)
1 голос
/ 11 июля 2018

Существует бесплатный инструмент «SQLS Plus» (на http://www.memfix.com), который в точности похож на Oracle SQL Plus для SQL Server. Работает со всеми версиями SQL Server.

Очень гибкий с форматированием данных (установить размер строки, размер страницы и т. Д.), Переменные (var, &, &&), спул, вывод HTML и т. Д. - множество дополнительных функций по сравнению с isql, osql или sqlcmd

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...