Как я могу использовать MS SQL Server с терминала Mac OS X?

Я использую Mac для разработки веб-приложений. Наша среда исполнения - Java, наш веб-сервер - Jetty, а наша IDE - Eclipse. Таким образом, весь наш стек можно использовать из Mac и Windows изначально... за исключением нашей базы данных, которая является MS SQL Server (от 2000 до 2008 года в зависимости от приложения). Мне нужен клиент командной строки Unix для MS SQL Server.

Мне не нравится какой-либо из клиентов OS X GUI для SQL Server - я нахожу их утомительными и не очень похожими на Mac - так что пока я используйте SQL Server 2008 Management Studio в Windows XP через VMWare Fusion. Но все равно огромная боль для запуска и выхода из игры, она съедает мою RAM во время ее работы, и она отравляет мои резервные копии Time Machine, изменяя несколько файлов объемом 2 ГБ на диске каждый раз, когда я их использую.

Мне нравится, как MySQL можно использовать из командной строки, так что это отличный способ быстро добраться до моей базы данных и исследовать ошибку или добавить некоторые тестовые данные. Если бы я мог использовать SQL Server именно так! За исключением внедрения клиента командной строки, использующего прямой JDBC, что-то там, что делает это возможным?

Ответ 1

Это приложение с открытым исходным кодом node, появившееся в 2014 году, sql-cli, дает полезную команду линейная консоль для Mac OS X и других настольных компьютеров.

Ответ 2

Установите FreeTDS, а затем вы можете запустить sqsh сформировать терминал

Ответ 3

Microsoft теперь предоставляет двоичные файлы OS X для инструментов командной строки для SQL Server, включая sqlcmd, а также драйвер ODBC для сторонних производителей. Теоретически это должно поддерживать соединение с Windows Authentication, если Mac настроен соответствующим образом Kerberos - что-то вроде инструмента sql-cli вряд ли может предложить.

Они распространяются как пакеты Homebrew:

$ brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
$ brew update
$ ACCEPT_EULA=y brew install --no-sandbox msodbcsql mssql-tools

Подключение хоста OS X как клиента к SQL Server работает в Docker:

$ sqlcmd -S 127.0.0.1 -U sa -P 'yourStrong(!)Password'
1> SELECT @@VERSION AS 'SQL Server Version'
2> GO
SELECT @@VERSION AS 'SQL Server Version'

SQL Server Version
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64)
    Aug 22 2017 17:04:49
    Copyright (C) 2017 Microsoft Corporation
    Developer Edition (64-bit) on Linux (Ubuntu 16.04.3 LTS)

(1 rows affected)
1> quit

Вы можете настроить DSN в ~/.odbc.ini:

# Give -D to connect using a DSN:
# sqlcmd -S DockerMS -D -U user -P password

[DockerMS]
Driver = ODBC Driver 13 for SQL Server
Server = 127.0.0.1,1433
Database = YourDefaultDB

где параметр Driver соответствует имени, зарегистрированному в unixODBC, процессом установки, см. odbcinst -q -d.

Ответ 4

Свободный, с открытым исходным кодом, на основе Java: SQuirreL?

Вероятно, вы не получите инструмент командной строки для SQL Server так же, как и для MySQL или Oracle. Почти каждая команда и действия, которые вам нужны, это команды SQL: вам просто нужен клиент SQL