Есть ли эквивалент SQLCMD в * nix?

#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.