Partager via


Installer Microsoft ODBC Driver for SQL Server (Linux)

Cet article explique comment installer Microsoft ODBC Driver for SQL Server sur Linux. Il contient également des instructions pour les outils en ligne de commande facultatifs pour SQL Server (bcp et sqlcmd) et les en-têtes de développement unixODBC.

Cet article fournit des commandes pour installer le pilote ODBC à partir de l’interpréteur de commandes bash. Si vous souhaitez télécharger les packages directement, consultez Télécharger ODBC Driver for SQL Server.

Microsoft ODBC 18

Les sections suivantes expliquent comment installer le pilote ODBC Microsoft 18 à partir de l’interpréteur de commandes Bash pour différentes distributions Linux. Les distributions prises en charge sont Alpine Linux, Debian, Red Hat Enterprise Linux (RHEL), Oracle Linux, SUSE Linux Enterprise Server (SLES), Ubuntu et Azure Linux. À compter de la version 18.4, pour accepter automatiquement le CLUF lors de l’installation du pilote non-Alpine Linux (.deb ou .rpm) , vous pouvez créer le fichier /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/9dcab408-e0d4-4571-a81a-5a0951e3445f/msodbcsql18_18.6.1.1-1_$architecture.apk
curl -O https://download.microsoft.com/download/b60bb8b6-d398-4819-9950-2e30cf725fb0/mssql-tools18_18.6.1.1-1_$architecture.apk

#(Optional) Verify signature, if 'gpg' is missing install it using 'apk add gnupg':
curl -O https://download.microsoft.com/download/9dcab408-e0d4-4571-a81a-5a0951e3445f/msodbcsql18_18.6.1.1-1_$architecture.sig
curl -O https://download.microsoft.com/download/b60bb8b6-d398-4819-9950-2e30cf725fb0/mssql-tools18_18.6.1.1-1_$architecture.sig

curl https://packages.microsoft.com/keys/microsoft.asc | gpg --import -
gpg --verify msodbcsql18_18.6.1.1-1_$architecture.sig msodbcsql18_18.6.1.1-1_$architecture.apk
gpg --verify mssql-tools18_18.6.1.1-1_$architecture.sig mssql-tools18_18.6.1.1-1_$architecture.apk

#Install the package(s)
sudo apk add --allow-untrusted msodbcsql18_18.6.1.1-1_$architecture.apk
sudo apk add --allow-untrusted mssql-tools18_18.6.1.1-1_$architecture.apk

Notes

Le pilote version 17.5 ou ultérieure est requise pour la prise en charge d’Alpine.

Versions précédentes

Les sections suivantes fournissent des instructions pour l’installation des versions précédentes du pilote Microsoft ODBC sur Linux. Les versions du pilote suivantes sont abordées :

Microsoft ODBC 17

Les sections suivantes expliquent comment installer le pilote Microsoft ODBC 17 à partir de l’interpréteur de commandes bash pour différentes distributions de Linux.

Important

Si vous avez installé le package v17 msodbcsql brièvement disponible, supprimez-le avant d’installer le msodbcsql17 package pour éviter les conflits. Vous pouvez installer le msodbcsql17 package côte à côte avec le msodbcsql package 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

Notes

Le pilote version 17.5 ou ultérieure est requise pour la prise en charge d’Alpine.

ODBC 13.1

Les sections suivantes expliquent comment installer le pilote Microsoft ODBC 13.1 à partir de l’interpréteur de commandes bash pour différentes distributions de 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

Les sections suivantes expliquent comment installer le pilote Microsoft ODBC 13 à partir de l’interpréteur de commandes bash pour différentes distributions de 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

Installation hors connexion pour ODBC 13

Si vous devez installer Microsoft ODBC Driver 13 sur un ordinateur sans connexion Internet, vous devez résoudre manuellement les dépendances de package. Microsoft ODBC Driver 13 a les dépendances directes suivantes :

  • Ubuntu : libc6 (>= 2.21), libstdc++6 (>= 4.9), libkrb5-3, libcurl3, openssl, debconf (>= 0.5), unixODBC (>= 2.3.1-1)
  • Red Hat : glibc, , e2fsprogskrb5-libs, openssl,unixODBC
  • SUSE : glibc, libuuid1, krb5, openssl, unixODBC

Chacun de ces packages a ses propres dépendances, qui peuvent ou ne pas être présentes sur le système. Pour obtenir une solution générale à ce problème, reportez-vous à la documentation du gestionnaire de package de votre distribution : Red Hat, Ubuntu et SUSE.

Vous pouvez télécharger manuellement tous les packages dépendants et les placer ensemble sur l’ordinateur d’installation. Ensuite, installez manuellement chaque package à son tour, en terminant par le package Microsoft ODBC Driver 13.

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

Les sections suivantes expliquent comment installer le pilote Microsoft ODBC 11 sur Linux. Avant d’utiliser le pilote, installez le Gestionnaire de pilotes unixODBC. Pour plus d’informations, consultez Installation du Gestionnaire de pilotes.

Procédure d’installation :

Important

Ces instructions font référence à msodbcsql-11.0.2270.0.tar.gz, qui est le fichier d’installation pour Red Hat Linux. Si vous installez pour SUSE Linux, le nom de fichier est msodbcsql-11.0.2260.0.tar.gz.

Pour installer le pilote :

  1. Assurez-vous de disposer d’une autorisation d’accès à la racine.

  2. Téléchargez le pilote.

    Répartition Chauffeur Hachage SHA-256
    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
  3. Accédez au répertoire où le téléchargement a placé le fichier msodbcsql-11.0.2270.0.tar.gz. Vérifiez que vous disposez du *.tar.gz fichier qui correspond à votre version de Linux. Pour extraire les fichiers, exécutez la commande suivante :

    tar xvzf msodbcsql-11.0.2270.0.tar.gz
    
  4. Accédez au répertoire msodbcsql-11.0.2270.0. Vous devez voir un fichier appelé install.sh.

  5. Pour afficher la liste des options d’installation disponibles, exécutez la commande suivante :

    ./install.sh
    
  6. Effectuez une sauvegarde de odbcinst.ini. L'installation du pilote est en cours de mise à jour odbcinst.ini. odbcinst.ini contient la liste des pilotes enregistrés auprès du Gestionnaire de pilotes unixODBC. Pour découvrir l’emplacement de odbcinst.ini sur votre ordinateur, exécutez la commande suivante :

    odbc_config --odbcinstini
    
  7. Avant d’installer le pilote, exécutez la commande suivante :

    ./install.sh verify
    

    La sortie de ./install.sh verify indique si votre ordinateur dispose des logiciels requis pour prendre en charge le pilote ODBC sur Linux.

  8. Lorsque vous êtes prêt à installer le pilote ODBC sur Linux, exécutez la commande :

    ./install.sh install
    

    Si vous devez spécifier une commande d’installation (bin-dir ou lib-dir), spécifiez la commande après l’option install .

  9. Après avoir examiné le contrat de licence, tapez YES pour poursuivre l’installation.

L’installation place le pilote dans /opt/microsoft/msodbcsql/11.0.2270.0. Le pilote et ses fichiers associés doivent être dans /opt/microsoft/msodbcsql/11.0.2270.0.

Pour vérifier que le pilote Microsoft ODBC sur Linux a été enregistré avec succès, exécutez la commande suivante :

odbcinst -q -d -n "ODBC Driver 11 for SQL Server"

Désinstaller l’interface

Désinstallez le pilote ODBC 11 sur Linux en exécutant les commandes suivantes :

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"

Fichiers de pilote

Le pilote ODBC sur Linux inclut les composants suivants :

Composant Descriptif
libmsodbcsql-17.X.so.X.X ou libmsodbcsql-13.X.so.X.X Fichier bibliothèque dynamique (so) d’objets partagés contenant l’ensemble des fonctionnalités du pilote. Le chemin d’installation est /opt/microsoft/msodbcsql17/lib64/ destiné au pilote 17 et /opt/microsoft/msodbcsql/lib64/ au pilote 13.
msodbcsqlr17.rll ou msodbcsqlr13.rll Fichier de ressources qui accompagne la bibliothèque de pilotes. Le chemin d’installation est [driver .so directory]../share/resources/en_US/
msodbcsql.h Fichier d’en-tête qui contient toutes les nouvelles définitions nécessaires à l’utilisation du pilote.

Remarque : vous ne pouvez pas faire référence à msodbcsql.h et odbcss.h dans le même programme.

Le chemin d’installation est /opt/microsoft/msodbcsql17/include/ destiné au pilote 17 et /opt/microsoft/msodbcsql/include/ au pilote 13.
LICENSE.txt Fichier texte qui contient les termes du contrat de licence utilisateur final. Le chemin d’installation est /usr/share/doc/msodbcsql17/ destiné au pilote 17 et /usr/share/doc/msodbcsql/ au pilote 13.
RELEASE_NOTES Fichier texte qui contient les notes de publication. Le chemin d’installation est /usr/share/doc/msodbcsql17/ destiné au pilote 17 et /usr/share/doc/msodbcsql/ au pilote 13.

Chargement du fichier de ressources

Le pilote doit charger le fichier de ressources pour pouvoir fonctionner. Ce fichier est appelé msodbcsqlr17.rll ou msodbcsqlr13.rll selon la version du pilote. L’emplacement du .rll fichier est relatif à l’emplacement du pilote lui-même (so ou dylib), comme décrit dans le tableau précédent. À compter de la version 17.1, si le pilote ne peut pas charger le .rll fichier à partir du chemin relatif, il tente également de charger le .rll fichier à partir du répertoire par défaut. Le chemin du fichier de ressources par défaut sur Linux est /opt/microsoft/msodbcsql17/share/resources/en_US/.

Résolution des problèmes

Si vous avez précédemment installé et inscrit une version du pilote avec unixODBC, l’installation peut échouer avec une erreur similaire à :

Installation failed, ODBC Driver $1 for SQL Server detected!

Pour résoudre le problème, annulez l’inscription de cette version du pilote à l’aide de la odbcinst commande. Remplacez $1 par la version du pilote signalée dans l’erreur d’installation :

odbcinst -u -d -n "ODBC Driver $1 for SQL Server"

Si la désinstallation échoue à l’aide de la odbcinst commande, vous pouvez supprimer manuellement les sections du pilote du odbcinst.ini fichier. Vous pouvez trouver l’emplacement du odbcinst.ini fichier à l’aide de la commande odbcinst -j.

Si vous ne pouvez pas établir de connexion à SQL Server à l’aide du pilote ODBC, consultez l’article des problèmes connus sur la résolution des problèmes de connexion.