Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo explica como instalar o Microsoft ODBC Driver for SQL Server em Linux. 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. Se você quiser baixar os pacotes diretamente, consulte Baixar o Driver ODBC para SQL Server.
Microsoft ODBC 18
As seções a seguir explicam como instalar o Microsoft ODBC Driver 18 por meio do shell Bash para diferentes distribuições do Linux. As distribuições com suporte são Alpine Linux, Debian, RED Hat Enterprise Linux (RHEL), Oracle Linux, SUSE Linux Enterprise Server (SLES), Ubuntu e Azure Linux. A partir da versão 18.4, para aceitar o EULA (Contrato de Licença de Usuário Final) automaticamente ao instalar o driver linux.deb ( ou .rpm) não alpino, você pode criar o arquivo /opt/microsoft/msodbcsql18/ACCEPT_EULA.
case $(uname -m) in
x86_64) architecture="amd64" ;;
arm64) architecture="arm64" ;;
*) architecture="unsupported" ;;
esac
if [[ "unsupported" == "$architecture" ]];
then
echo "Alpine architecture $(uname -m) is not currently supported.";
exit;
fi
#Download the desired package(s)
curl -O https://download.microsoft.com/download/0b3d5518-b4a7-4a2b-afc7-7ee9e967f93c/msodbcsql18_18.6.2.1-1_$architecture.apk
curl -O https://download.microsoft.com/download/cad0d30f-b9b1-4765-a011-81d8a66c8b8d/mssql-tools18_18.6.2.1-1_$architecture.apk
#(Optional) Verify signature, if 'gpg' is missing install it using 'apk add gnupg':
curl -O https://download.microsoft.com/download/0b3d5518-b4a7-4a2b-afc7-7ee9e967f93c/msodbcsql18_18.6.2.1-1_$architecture.sig
curl -O https://download.microsoft.com/download/cad0d30f-b9b1-4765-a011-81d8a66c8b8d/mssql-tools18_18.6.2.1-1_$architecture.sig
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --import -
gpg --verify msodbcsql18_18.6.2.1-1_$architecture.sig msodbcsql18_18.6.2.1-1_$architecture.apk
gpg --verify mssql-tools18_18.6.2.1-1_$architecture.sig mssql-tools18_18.6.2.1-1_$architecture.apk
#Install the package(s)
sudo apk add --allow-untrusted msodbcsql18_18.6.2.1-1_$architecture.apk
sudo apk add --allow-untrusted mssql-tools18_18.6.2.1-1_$architecture.apk
Observação
A versão 17.5 ou posterior do driver é necessária para compatibilidade com o Alpine.
Versões anteriores
As seções a seguir fornecem instruções sobre como instalar versões anteriores do Microsoft ODBC Driver no Linux. As seguintes versões de driver são abordadas:
- Microsoft ODBC driver 17 para SQL Server
- Microsoft ODBC driver 13.1 para SQL Server
- Driver 13 do Microsoft ODBC para SQL Server
- Microsoft ODBC driver 11 para SQL Server
Microsoft ODBC 17
As seções a seguir explicam como instalar o Microsoft ODBC Driver 17 por meio do shell Bash para diferentes distribuições do Linux.
Importante
Se você instalou o pacote v17 msodbcsql que estava disponível brevemente, remova-o antes de instalar o msodbcsql17 pacote para evitar conflitos. Você pode instalar o msodbcsql17 pacote lado a lado com o pacote v13.
#Download the desired package(s)
curl -O https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.6.1-1_amd64.apk
curl -O https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/mssql-tools_17.10.1.1-1_amd64.apk
#(Optional) Verify signature, if 'gpg' is missing install it using 'apk add gnupg':
curl -O https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.6.1-1_amd64.sig
curl -O https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/mssql-tools_17.10.1.1-1_amd64.sig
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --import -
gpg --verify msodbcsql17_17.10.6.1-1_amd64.sig msodbcsql17_17.10.6.1-1_amd64.apk
gpg --verify mssql-tools_17.10.1.1-1_amd64.sig mssql-tools_17.10.1.1-1_amd64.apk
#Install the package(s)
sudo apk add --allow-untrusted msodbcsql17_17.10.6.1-1_amd64.apk
sudo apk add --allow-untrusted mssql-tools_17.10.1.1-1_amd64.apk
Observação
A versão 17.5 ou posterior do driver é necessária para compatibilidade com o Alpine.
ODBC 13.1
As seções a seguir explicam como instalar o Microsoft ODBC Driver 13.1 por meio do shell Bash para diferentes distribuições do Linux.
if ! [[ "8" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)"* ]];
then
echo "Debian $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1) is not currently supported.";
exit;
fi
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/debian/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)/packages-microsoft-prod.deb
# Install the package
sudo dpkg -i packages-microsoft-prod.deb
# Delete the file
rm packages-microsoft-prod.deb
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install msodbcsql
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install unixodbc-dev
ODBC 13
As seções a seguir explicam como instalar o Microsoft ODBC Driver 13 por meio do shell Bash para diferentes distribuições do Linux.
if ! [[ "6 7" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)"* ]];
then
echo "RHEL $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1) is not currently supported.";
exit;
fi
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/rhel/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)/packages-microsoft-prod.rpm
# Install the package
sudo yum install packages-microsoft-prod.rpm
# Delete the file
rm packages-microsoft-prod.rpm
sudo yum update
sudo yum remove unixODBC #to avoid conflicts
sudo ACCEPT_EULA=Y yum install msodbcsql-13.0.1.0-1 mssql-tools-14.0.2.0-1
sudo yum install unixODBC-utf16-devel #this step is optional but recommended*
#Create symlinks for tools
sudo ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd
sudo ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp
Instalação offline para ODBC 13
Se você precisar instalar o Microsoft ODBC Driver 13 em um computador sem conexão com a Internet, deverá resolver as dependências do pacote manualmente. O Microsoft ODBC Driver 13 tem as seguintes dependências diretas:
- Ubuntu:
libc6(>= 2,21),libstdc++6(>= 4,9),libkrb5-3,libcurl3,openssl,debconf(>= 0,5),unixODBC(>= 2,3,1-1) - Red Hat:
glibc,e2fsprogs, ,krb5-libs,opensslunixODBC - SUSE:
glibc,libuuid1,krb5,openssl,unixODBC
Cada um desses pacotes tem suas próprias dependências, que podem ou não estar presentes no sistema. Para obter uma solução geral para esse problema, consulte a documentação do gerenciador de pacotes da distribuição: Red Hat, Ubuntu e SUSE.
Você pode baixar manualmente todos os pacotes dependentes e colocá-los juntos no computador de instalação. Em seguida, instale manualmente cada pacote, terminando com o pacote Microsoft ODBC Driver 13.
- Baixe o pacote mais recente
msodbcsqlde https://packages.microsoft.com/rhel/7/prod/. - Instale as dependências e o driver.
sudo yum install glibc e2fsprogs krb5-libs openssl unixODBC unixODBC-devel #install dependencies
sudo rpm -i msodbcsql-13.1.X.X-X.x86_64.rpm #install the Driver
ODBC 11
As seções a seguir explicam como instalar o Microsoft ODBC Driver 11 no Linux. Antes de poder usar o driver, instale o gerenciador de drivers unixODBC. Para obter mais informações, consulte Como instalar o Gerenciador de Driver.
Etapas de instalação
Importante
Estas instruções referem-se ao msodbcsql-11.0.2270.0.tar.gz, que é o arquivo de instalação para o Red Hat Linux. Se você instalar o SUSE Linux, o nome do arquivo será msodbcsql-11.0.2260.0.tar.gz.
Para instalar o driver:
Confirme se você tem permissão de root.
Baixe o driver.
Distribuição Motorista Hash de SHA256 Red Hat 5 msodbcsql-11.0.2270.0.tar.gz 178280daf01a49b8322cd902b6440979adacd594c01cd2a1f081dda23dbfb343 Red Hat 6 msodbcsql-11.0.2270.0.tar.gz e9b6bd33d174c7753b3a3f2d541713fbc156b46254484a169caa3f459dd828f7 SUSE Linux msodbcsql-11.0.2260.0.tar.gz 86d1c5842be4f0095234a9455e18a04fdf4cc7960ec0255b37258112e2391ef5 Altere o diretório em que o download colocou o arquivo
msodbcsql-11.0.2270.0.tar.gz. Verifique se você tem o*.tar.gzarquivo que corresponde à sua versão do Linux. Para extrair os arquivos, execute o seguinte comando:tar xvzf msodbcsql-11.0.2270.0.tar.gzAltere para o diretório
msodbcsql-11.0.2270.0. Você deve ver um arquivo chamadoinstall.sh.Para ver uma lista das opções de instalação disponíveis, execute o seguinte comando:
./install.shFaça um backup de
odbcinst.ini. As atualizações de instalação de driversodbcinst.ini. O odbcinst.ini contém a lista de drivers que estão registrados com o Gerenciador de Driver unixODBC. Para descobrir o local do odbcinst.ini em seu computador, execute o seguinte comando:odbc_config --odbcinstiniAntes de instalar o driver, execute o seguinte comando:
./install.sh verifyA saída de
./install.sh verifyinforma se o seu computador tem o software necessário para suporte ao driver ODBC em Linux.Quando estiver pronto para instalar o driver ODBC no Linux, execute o comando:
./install.sh installSe você precisar especificar um comando de instalação (
bin-diroulib-dir), especifique o comando após a opçãoinstall.Depois de revisar o contrato de licença, digite
YESpara continuar com a instalação.
A instalação coloca o driver em /opt/microsoft/msodbcsql/11.0.2270.0. O driver e seus arquivos de suporte devem estar no /opt/microsoft/msodbcsql/11.0.2270.0.
Para verificar se o driver ODBC da Microsoft no Linux foi registrado com êxito, execute o seguinte comando:
odbcinst -q -d -n "ODBC Driver 11 for SQL Server"
Desinstalar
Desinstale o driver ODBC 11 no Linux executando os seguintes comandos:
rm -f /usr/bin/sqlcmd
rm -f /usr/bin/bcp
rm -rf /opt/microsoft/msodbcsql
odbcinst -u -d -n "ODBC Driver 11 for SQL Server"
Arquivos do driver
O driver ODBC no Linux inclui os seguintes componentes:
| Componente | Descrição |
|---|---|
libmsodbcsql-17.X.so.X.X ou libmsodbcsql-13.X.so.X.X |
O arquivo de biblioteca dinâmica (so) do objeto compartilhado que contém toda a funcionalidade do driver. O caminho de instalação é /opt/microsoft/msodbcsql17/lib64/ para o Driver 17 e /opt/microsoft/msodbcsql/lib64/ para o Driver 13. |
msodbcsqlr17.rll ou msodbcsqlr13.rll |
O arquivo de recurso que acompanha a biblioteca de driver. O caminho de instalação é [driver .so directory]../share/resources/en_US/ |
msodbcsql.h |
O arquivo de cabeçalho que contém todas as novas definições necessárias para usar o driver. Observação: você não pode referenciar msodbcsql.h e odbcss.h no mesmo programa.O caminho de instalação é /opt/microsoft/msodbcsql17/include/ para o Driver 17 e /opt/microsoft/msodbcsql/include/ para o Driver 13. |
LICENSE.txt |
O arquivo de texto que contém os termos do Contrato de Licença do Usuário Final. O caminho de instalação é /usr/share/doc/msodbcsql17/ para o Driver 17 e /usr/share/doc/msodbcsql/ para o Driver 13. |
RELEASE_NOTES |
O arquivo de texto que contém as notas de lançamento. O caminho de instalação é /usr/share/doc/msodbcsql17/ para o Driver 17 e /usr/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 msodbcsqlr17.rll ou msodbcsqlr13.rll, dependendo da versão do driver. O local do .rll arquivo é relativo ao local do próprio driver (so ou dylib), conforme descrito na tabela anterior. A partir da versão 17.1, se o driver não puder carregar o .rll arquivo do caminho relativo, ele também tentará carregar o .rll arquivo do diretório padrão. O caminho do arquivo de recurso padrão no Linux é /opt/microsoft/msodbcsql17/share/resources/en_US/.
Solucionar problemas
Conflito de versão do driver prévio
Se você instalou e registrou anteriormente uma versão do driver com unixODBC, a instalação poderá falhar com um erro semelhante a:
Installation failed, ODBC Driver $1 for SQL Server detected!
Para resolver o problema, cancele o registro dessa versão do driver usando o odbcinst comando. Substitua $1 pela versão do driver relatada no erro de instalação:
odbcinst -u -d -n "ODBC Driver $1 for SQL Server"
Se a desinstalação usando o odbcinst comando falhar, você poderá remover manualmente as seções de driver do odbcinst.ini arquivo. Você pode encontrar o local do odbcinst.ini arquivo usando o comando odbcinst -j.
Erros de download do pacote no Debian e no Ubuntu
Nas distribuições baseadas em Debian, você poderá ver o seguinte erro ao instalar o packages-microsoft-prod.deb pacote:
dpkg-deb: error: 'packages-microsoft-prod.deb' is not a Debian format archive
Esse erro normalmente significa que o arquivo baixado está corrompido ou incompleto, geralmente causado por uma interrupção de rede ou problema de proxy. Para resolver o problema:
Exclua o arquivo corrompido e baixe-o novamente. Para o Ubuntu:
rm packages-microsoft-prod.deb curl -sSL -O https://packages.microsoft.com/config/ubuntu/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)/packages-microsoft-prod.debPara Debian, substitua
ubuntue use apenas o número de versão principal:rm packages-microsoft-prod.deb curl -sSL -O https://packages.microsoft.com/config/debian/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)/packages-microsoft-prod.debVerifique se o download é um pacote Debian válido (a saída deve incluir
Debian binary package):file packages-microsoft-prod.debSe o download continuar falhando, verifique as configurações de conexão de rede e proxy ou use
wgetem vez decurl:wget https://packages.microsoft.com/config/ubuntu/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)/packages-microsoft-prod.deb
Problemas de conexão
Se você não conseguir fazer uma conexão com o SQL Server usando o driver ODBC, consulte o artigo de problemas conhecidos sobre como solucionar problemas de conexão.