Подтвердить что ты не робот

Каковы различия между osql, isql и sqlcmd?

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

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

4b9b3361

Ответ 1

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

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

EDIT: Времена изменились, так как я ответил на это пару лет назад. В настоящее время вы также можете использовать командлет invoke-sqlcmd в PowerShell. Если вы привыкли к PowerShell или планируете делать какие-либо сценарии любой сложности, используйте это вместо этого.

Ответ 2

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

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

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

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

Ответ 3

Всегда лучше использовать 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) Удаленное выделенное соединение с администратором (ЦАП)