Мне интересно использовать какую-то утилиту командной строки для SQL Server, похожую на Oracle SQL * Plus. У SQL Server есть несколько вариантов: osql, isql и sqlcmd. Однако я не совсем уверен, какой из них использовать.
Все ли они, по сути, делают одно и то же? Есть ли ситуации, когда предпочтительнее использовать одно перед другими?





Используйте sqlcmd - это наиболее полнофункциональный продукт.
Обновлено: Времена изменились с тех пор, как я ответил на это пару лет назад. В настоящее время вы также можете использовать командлет invoke-sqlcmd в PowerShell. Если вы привыкли к PowerShell или планируете создавать сценарии любой сложности, используйте это вместо этого.
Я не уверен, каков объем вашего вопроса, но я считаю:
isql использовал DB-Library для связи с сервером и больше не включается после SQL2000
osql использовал ODBC для связи с сервером и больше не будет включаться после SQL2005
sqlcmd использовал OLE DB для связи с сервером и в настоящее время является рекомендуемым инструментом командной строки.
osql по-прежнему включен в SQL2016, C: \ Program Files (x86) \ Microsoft SQL Server \ 140 \ Tools \ Binn \ OSQL.EXE
@Rick У меня нет OSQL в 2016 году. Я проверил эту папку, и под 130 или 140 у меня нет такой программы. Я даже провел поиск по всей папке SQL Server, но ничего не нашел. Все мои команды, использующие OSQL, также терпят неудачу. Итак, я просто перешел на SQLCMD
@LearnByReading Я считаю, что эти инструменты устанавливаются с SQL2016 только в том случае, если вы проверяете соответствующую функцию во время установки ... Думаю, "Client SDK Tools". Если нет, вы также можете установить их отдельно с помощью установщика инструмента командной строки, который можно найти здесь: microsoft.com/en-us/download/details.aspx?id=52676
Всегда лучше использовать SQLCMD вместо OSQL или ISQL, если у вас есть SQL SERVER 2005, иначе используйте OSQL вместо ISQL.
Microsoft объявила ранее, что ISQL закрывается. Конечно, ISQL не включен в SQL Server 2005 RTM. В конечном итоге OSQL также будет прекращена, хотя он по-прежнему включен в двоичную установку SQL Server 2005. Учитывая исторический цикл выпуска SQL Server, возможно, OSQL попрощается с нами в 2010 году.
SQLCMD имеет множество преимуществ, как показано ниже:
Существует бесплатный инструмент «SQLSПлюс "(на http://www.memfix.com), что в точности похоже на Oracle SQLPlus для SQL Server. Работает со всеми версиями SQL Server».
Очень гибкое форматирование данных (размер строк, размер страницы и т. д.), Переменные (var, &, &&), спул, вывод HTML и т. д. - множество дополнительных функций по сравнению с isql, osql или sqlcmd
osqlвсе еще включен:C:\Program Files\Microsoft SQL Server\120\Tools\Binn\OSQL.EXE