#unix #sqlcmd
#unix #sqlcmd
Вопрос:
У нас неоднородная среда, где некоторые разработчики используют OSX, а некоторые — Windows. Наш процесс сборки включает контроль версий БД и требует вызова SQLCMD для выполнения произвольных сценариев — все наши базы данных являются SQL Server.
SQLCMD — это интерфейс командной строки для SQL Server в Windows, аналогичный Oracle SQL * Plus. Конкретная функциональность, которая нам нужна, — это возможность запускать SQL-скрипты из командной строки. Есть ли эквивалент SQLCMD для * nix?
Если нет, то единственным кроссплатформенным подходом, который я могу придумать, было бы загрузить файл сценария в память, а затем выполнить сценарий.
Есть ли четкий лидер для комбинации библиотека / язык, которая будет обрабатывать все инструкции DDL T-SQL? (Я спрашиваю об операторах DDL, потому что они были препятствием для этого подхода, когда я пробовал его в прошлом.)
Комментарии:
1. Общий момент: при запросе платформенного эквивалента Foo полезно указать, что Foo представляет собой / делает в интересах тех, кто работает на платформе, но ничего не знает о Foo. Предоставление ссылки не повредило бы, и точное указание того, какие функции Foo вам нужны, действительно помогло бы.
Ответ №1:
Вы могли бы попробовать fisql
утилиту, которая является частью FreeTDS, реализации проводного протокола SQL Server с открытым исходным кодом. fisql
предполагается, что это клон древнего isql
, предшественника osql
, предшественника sqlcmd
, но предположительно он будет работать с любым уровнем T-SQL.
Отказ от ответственности: я сам не использовал FreeTDS.