Instalar o Microsoft ODBC Driver for SQL Server (macOS)

Este artigo explica como instalar o Microsoft ODBC Driver for SQL Server no macOS. Também inclui instruções para as ferramentas de linha de comando opcionais para o SQL Server (bcp e sqlcmd) e os cabeçalhos de desenvolvimento unixODBC.

Este artigo fornece comandos para instalar o driver ODBC por meio do shell Bash. Caso deseje baixar os pacotes diretamente, confira Baixar o ODBC Driver for SQL Server.

Observação

O driver Microsoft ODBC para SQL Server no macOS só tem suporte na arquitetura x64 por meio da versão 17.7. O suporte do Apple ARM64 foi adicionado a partir da versão 17.8. A arquitetura será detectada e o pacote correto será instalado automaticamente pela fórmula Homebrew. Se o prompt de comando estiver em execução no modo de emulação x64 no ARM64, o pacote x64 será instalado. Se você não estiver executando no modo de emulação no prompt de comando, o pacote ARM64 será instalado. Além disso, o diretório padrão Homebrew foi alterado com a arquitetura ARM64, para /opt/homebrew. Os caminhos na seção Arquivos do driver usam os caminhos de x64 Homebrew, que são padrão para /usr/local. Portanto, seus caminhos de arquivo variam de acordo.

Microsoft ODBC 18

Para instalar o Microsoft ODBC Driver 18 para SQL Server no macOS, execute os seguintes comandos:

/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

Versões anteriores

As seções a seguir fornecem instruções sobre como instalar versões anteriores do Microsoft ODBC Driver no macOS.

Microsoft ODBC 17

Para instalar o Microsoft ODBC Driver 17 for SQL Server no macOS, execute os seguintes comandos:

/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

Importante

Se você tiver instalado o pacote v17 msodbcsql que estava disponível brevemente, deverá removê-lo antes de instalar o pacote msodbcsql17. Isso evitará conflitos. O pacote msodbcsql17 pode ser instalado lado a lado com o pacote msodbcsql v13.

ODBC 13.1

Use os seguintes comandos para instalar o Microsoft ODBC Driver 13.1 for SQL Server no OS X 10.11 (El Capitan) e no 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

Arquivos do driver

O driver ODBC no macOS consiste nos seguintes componentes:

Componente Descrição
libmsodbcsql.18.dylib, libmsodbcsql.17.dylib ou libmsodbcsql.13.dylib O arquivo de biblioteca dinâmica (dylib) que contém toda a funcionalidade do driver. Esse arquivo é instalado em /usr/local/lib/.
msodbcsqlr18.rll ou msodbcsqlr17.rll ou msodbcsqlr13.rll O arquivo de recursos que acompanha a biblioteca do driver. Esse arquivo é instalado em [driver .dylib directory]../share/msodbcsql18/resources/en_US/ para o Driver 18, em [driver .dylib directory]../share/msodbcsql17/resources/en_US/ para o Driver 17 e em [driver .dylib directory]../share/msodbcsql/resources/en_US/ para o Driver 13.
msodbcsql.h O arquivo de cabeçalho que contém todas as novas definições necessárias para usar o driver.

Observação: não será possível referenciar as variáveis msodbcsql.h e odbcss.h no mesmo programa.

O msodbcsql.h é instalado em /usr/local/include/msodbcsql18/ para o Driver 18, em /usr/local/include/msodbcsql17/ para o Driver 17 e em /usr/local/include/msodbcsql/ para o Driver 13.
LICENSE.txt O arquivo de texto que contém os termos do Contrato de Licença do Usuário Final. Esse arquivo é colocado em /usr/local/share/doc/msodbcsql18/ para o Driver 18, em /usr/local/share/doc/msodbcsql17/ para o Driver 17 e em /usr/local/share/doc/msodbcsql/ para o Driver 13.
RELEASE_NOTES O arquivo de texto que contém as notas sobre a versão. Esse arquivo é colocado em /usr/local/share/doc/msodbcsql18/ para o Driver 18, em /usr/local/share/doc/msodbcsql17/ para o Driver 17 e em /usr/local/share/doc/msodbcsql/ para o Driver 13.

Carregamento de arquivo de recursos

O driver precisa carregar o arquivo de recurso para funcionar. Esse arquivo é denominado msodbcsqlr18.rll, msodbcsqlr17.rll ou msodbcsqlr13.rll de acordo com a versão do driver. O local do arquivo .rll é relativo ao local do driver em si (so ou dylib), conforme indicado na tabela de componentes. A partir da versão 17.1, o driver também tentará carregar o .rll do diretório padrão se o carregamento do caminho relativo falhar. O caminho do arquivo de recurso padrão no macOS é /usr/local/share/msodbcsql18/resources/en_US/

Solução de problemas

Alguns usuários encontram um problema ao tentarem se conectar depois de instalarem o Driver do ODBC e receberem um erro como: "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 18 for SQL Server' : file not found (0) (SQLDriverConnect)". Talvez o unixODBC não esteja configurado corretamente para localizar os drivers registrados. Nesses casos, a criação de links simbólicos pode resolver o problema.

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

Para outros casos em que não é possível estabelecer uma conexão com o SQL Server usando o driver ODBC, confira o artigo sobre problemas conhecidos em Solução de problemas de conexão.

Se o Brew estiver tendo problemas para encontrar as fórmulas, verifique se você não ignorou a etapa de instalação: brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release

Próximas etapas

Depois de instalar o driver, experimente o aplicativo de exemplo C++ ODBC. Para obter mais informações sobre como desenvolver aplicativos ODBC, confira Desenvolver aplicativos.

Para obter mais informações, confira as notas sobre a versão e os requisitos do sistema do driver ODBC.