Каковы различия между osql, isql и sqlcmd?
Мне интересно использовать какую-то утилиту командной строки для SQL Server, похожую на Oracle SQL * Plus. Кажется, что у SQL Server есть несколько опций: osql, isql и sqlcmd. Однако я не совсем уверен, какой из них использовать.
Все ли они по существу делают то же самое? Есть ли ситуации, когда предпочтительнее использовать один над другими?
Ответы
Ответ 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) Удаленное выделенное соединение с администратором (ЦАП)