Установка Microsoft ODBC Driver for SQL Server (macOS)

В этой статье объясняется, как установить Microsoft ODBC Driver for SQL Server в macOS. В ней также содержатся инструкции для необязательных средств командной строки для SQL Server (bcp и sqlcmd) и заголовков разработки unixODBC.

В этой статье приведены команды для установки драйвера ODBC из оболочки bash. Сведения о том, как загрузить пакеты напрямую, см. в разделе Скачивание драйвера ODBC Driver for SQL Server.

Примечание

Драйвер Microsoft ODBC Driver for SQL Server в macOS поддерживается только в 64-разрядной архитектуре до версии 17.7. Поддержка Apple ARM64 была добавлена начиная с версии 17.8. Будет обнаружена архитектура, и с помощью формулы Homebrew автоматически установится правильный пакет. Если командная строка работает в режиме эмуляции x64 в ARM64, будет установлен пакет x64. Если командная строка не работает в режиме эмуляции, будет установлен пакет ARM64. Кроме того, каталог Homebrew по умолчанию изменен с архитектурой ARM64 на /opt/homebrew. Пути в разделе Файлы драйвера используют пути x64 Homebrew, которые по умолчанию /usr/localимеют значение , поэтому пути к файлам будут отличаться соответствующим образом.

Microsoft ODBC 18

Чтобы установить Microsoft ODBC Driver 18 for SQL Server в macOS, выполните следующие команды:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
HOMEBREW_ACCEPT_EULA=Y brew install msodbcsql18 mssql-tools18

Предыдущие версии

В следующих разделах приведены инструкции по установке предыдущих версий драйвера Microsoft ODBC в macOS.

Microsoft ODBC 17

Чтобы установить Microsoft ODBC Driver 17 для SQL Server в macOS, выполните следующие команды:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
HOMEBREW_ACCEPT_EULA=Y brew install msodbcsql17 mssql-tools

Важно!

Если вы установили пакет msodbcsql версии 17, который был доступен непродолжительное время, его следует удалить перед установкой пакета msodbcsql17. Это позволит избежать конфликтов. Пакет msodbcsql17 можно установить параллельно с пакетом msodbcsql версии 13.

ODBC 13.1

Используйте следующие команды для установки драйвера Microsoft ODBC Driver 13.1 for SQL Server в OS X 10.11 (El Capitan) и macOS 10.12 (Sierra):

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
brew install msodbcsql@13.1.9.2 mssql-tools@14.0.6.0

Файлы драйвера

Драйвер ODBC в macOS состоит из следующих компонентов.

Компонент Описание
libmsodbcsql.18.dylib, libmsodbcsql.17.dylib или libmsodbcsql.13.dylib Файл динамической библиотеки (dylib), содержащий все функциональные возможности драйвера. Этот файл устанавливается в папке /usr/local/lib/.
msodbcsqlr18.rll, msodbcsqlr17.rll или msodbcsqlr13.rll Сопутствующий файл ресурса для библиотеки драйвера. Этот файл устанавливается в папке [driver .dylib directory]../share/msodbcsql18/resources/en_US/ для драйвера версии 18, [driver .dylib directory]../share/msodbcsql17/resources/en_US/ — версии 17 и [driver .dylib directory]../share/msodbcsql/resources/en_US/ — версии 13.
msodbcsql.h Файл заголовка, содержащий все новые определения, необходимые для использования драйвера.

Примечание. В одной программе нельзя ссылаться на msodbcsql.h и odbcss.h одновременно.

Файл msodbcsql.h устанавливается в папке /usr/local/include/msodbcsql18/ для драйвера версии 18, /usr/local/include/msodbcsql17/ — версии 17 и /usr/local/include/msodbcsql/ — версии 13.
LICENSE.txt Текстовый файл с условиями лицензионного соглашения. Этот файл помещается в папку /usr/local/share/doc/msodbcsql18/ для драйвера версии 18, /usr/local/share/doc/msodbcsql17/ — версии 17 и /usr/local/share/doc/msodbcsql/ — версии 13.
RELEASE_NOTES Текстовый файл с заметками о выпуске. Этот файл помещается в папку /usr/local/share/doc/msodbcsql18/ для драйвера версии 18, /usr/local/share/doc/msodbcsql17/ — версии 17 и /usr/local/share/doc/msodbcsql/ — версии 13.

Загрузка файла ресурсов

Чтобы драйвер работал, он должен загрузить файл ресурсов. Этот файл имеет имя msodbcsqlr18.rll, msodbcsqlr17.rll или msodbcsqlr13.rll в зависимости от версии драйвера. Файл .rll располагается по пути относительно расположения самого драйвера (so или dylib), как указано в таблице компонентов. Начиная с версии 17.1 драйвер также пытается загрузить .rll из каталога по умолчанию, если загрузка из относительного пути завершается ошибкой. Путь к файлу ресурсов по умолчанию в macOS: /usr/local/share/msodbcsql18/resources/en_US/

Устранение неполадок

Некоторые пользователи столкнулись с проблемой при попытке подключения после установки драйвера ODBC и получили сообщение об ошибке следующего вида: "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 18 for SQL Server' : file not found (0) (SQLDriverConnect)". Причиной может быть неверная настройка unixODBC, не позволяющая найти зарегистрированные драйверы. В таких случаях проблему можно решить созданием символических ссылок.

sudo ln -s /usr/local/etc/odbcinst.ini /etc/odbcinst.ini
sudo ln -s /usr/local/etc/odbc.ini /etc/odbc.ini

В других случаях, когда не удается установить подключение к SQL Server с помощью драйвера ODBC, см. статью об известных проблемах, посвященной устранению неполадок с подключением.

Если brew не удается найти формулы, убедитесь, что вы не пропустили этап установки: brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release.

Дальнейшие действия

После установки драйвера можно попробовать пример приложения C++ ODBC. Подробнее о разработке приложений ODBC см. в разделе Разработка приложений.

Дополнительные сведения см. в статьях с заметками о выпуске и требованиями к системе для драйвера ODBC.