Installer Microsoft ODBC Driver for SQL Server (macOS)

Cet article explique comment installer Microsoft ODBC Driver for SQL Server sur macOS. 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.

Notes

Le pilote Microsoft ODBC pour SQL Server sur macOS est pris en charge uniquement sur l’architecture x64 jusqu’à la version 17.7. La prise en charge d’Apple ARM64 a été ajoutée à partir de la version 17.8. L’architecture est détectée et le package approprié est automatiquement installé par la formule Homebrew. Si votre invite de commandes s’exécute en mode émulation x64 sur ARM64, le package x64 est installé. Si vous n’êtes pas en mode émulation dans votre invite de commandes, le package ARM64 est installé. En outre, le répertoire par défaut Homebrew a changé avec l’architecture ARM64, en /opt/homebrew. Les chemins d’accès spécifiés dans la section Fichiers de pilote utilisent x64 Homebrew, qui sont par défaut /usr/local, de sorte que vos chemins d’accès aux fichiers varient en conséquence.

Microsoft ODBC 18

Pour installer Microsoft ODBC Driver 18 for SQL Server sur macOS, exécutez les commandes suivantes :

/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

Versions précédentes

Les sections suivantes fournissent des instructions pour l’installation des versions précédentes du pilote Microsoft ODBC sur macOS.

Microsoft ODBC 17

Pour installer le pilote Microsoft ODBC 17 pour SQL Server sur macOS, exécutez les commandes suivantes :

/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

Important

Si vous avez installé le package msodbcsql v17 qui n’a pas été disponible longtemps, vous devez le supprimer avant d’installer le package msodbcsql17. Cette opération évitera les conflits. Le package msodbcsql17 peut être installé côte à côte avec le package msodbcsql v13.

ODBC 13.1

Utilisez les commandes suivantes pour installer le pilote Microsoft ODBC 13.1 pour SQL Server sur OS X 10.11 (El Capitan) et 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

Fichiers de pilote

Le pilote ODBC sur macOS est constitué des composants suivants :

Composant Description
libmsodbcsql.18.dylib ou libmsodbcsql.17.dylib ou libmsodbcsql.13.dylib Fichier de bibliothèque dynamique (dylib) contenant l’ensemble des fonctionnalités du pilote. Ce fichier est installé dans /usr/local/lib/.
msodbcsqlr18.rll ou msodbcsqlr17.rll ou msodbcsqlr13.rll Fichier de ressources qui accompagne la bibliothèque du pilote. Ce fichier est installé dans [driver .dylib directory]../share/msodbcsql18/resources/en_US/ pour Driver 18, [driver .dylib directory]../share/msodbcsql17/resources/en_US/ pour Driver 17 et [driver .dylib directory]../share/msodbcsql/resources/en_US/ pour Driver 13.
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 référencer msodbcsql.h et odbcss.h dans le même programme.
msodbcsql.h est installé dans /usr/local/include/msodbcsql18/ pour Driver 18, /usr/local/include/msodbcsql17/ pour Driver 17 et /usr/local/include/msodbcsql/ pour Driver 13.
LICENSE.txt Fichier texte qui contient les termes du contrat de licence utilisateur final. Ce fichier est placé dans /usr/local/share/doc/msodbcsql18/ pour Driver 18, /usr/local/share/doc/msodbcsql17/ pour Driver 17 et /usr/local/share/doc/msodbcsql/ pour Driver 13.
RELEASE_NOTES Fichier texte qui contient les notes de publication. Ce fichier est placé dans /usr/local/share/doc/msodbcsql18/ pour Driver 18, /usr/local/share/doc/msodbcsql17/ pour Driver 17 et /usr/local/share/doc/msodbcsql/ pour Driver 13.

Chargement du fichier de ressources

Le pilote doit charger le fichier de ressources pour pouvoir fonctionner. Ce fichier est appelé msodbcsqlr18.rll, msodbcsqlr17.rll ou msodbcsqlr13.rll selon la version du pilote. L’emplacement du fichier .rll est relatif à l’emplacement du pilote lui-même (so ou dylib), comme indiqué dans le tableau des composants. Depuis la version 17.1, le pilote tente aussi de charger le fichier .rll à partir du répertoire par défaut si le chargement échoue à partir du chemin d’accès relatif. Le chemin du fichier de ressources par défaut sur macOS est /usr/local/share/msodbcsql18/resources/en_US/.

Dépannage

Certains utilisateurs rencontrent un problème lors de la tentative de connexion après l’installation du pilote ODBC et reçoivent une erreur semblable à la suivante : "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 18 for SQL Server' : file not found (0) (SQLDriverConnect)". Cela peut être le cas si unixODBC n’est pas configuré correctement pour trouver les pilotes inscrits. Dans ce cas, la création de liens symboliques peut résoudre le problème.

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

Si vous ne parvenez pas à établir de connexion à SQL Server à l’aide du pilote ODBC, consultez l’article sur les problèmes connus pour résoudre les problèmes de connexion.

Si brew n’arrive pas à trouver les formules, vérifiez que vous n’avez pas manqué l’étape d’installation : brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release