Installare Microsoft ODBC Driver for SQL Server (macOS)

Questo articolo illustra come installare Microsoft ODBC Driver for SQL Server in macOS. Sono inoltre incluse le istruzioni per gli strumenti della riga di comando facoltativi per SQL Server (bcp e sqlcmd) e le intestazioni di sviluppo unixODBC.

Questo articolo fornisce i comandi per l'installazione del driver ODBC dalla shell Bash. Se si vogliono scaricare direttamente i pacchetti, vedere Scaricare ODBC Driver for SQL Server.

Nota

Microsoft ODBC Driver for SQL Server in macOS è supportato solo nell'architettura x64 fino alla versione 17.7. Il supporto di Apple ARM64 è stato aggiunto a partire dalla versione 17.8. L'architettura verrà rilevata e il pacchetto corretto verrà installato automaticamente tramite la formula Homebrew. Se il prompt dei comandi è in esecuzione in modalità di emulazione x64 in ARM64, verrà installato il pacchetto x64. Se non è in esecuzione la modalità emulazione nel prompt dei comandi, verrà installato il pacchetto ARM64. Inoltre, la directory predefinita di Homebrew è stata cambiata in /opt/homebrew con l’architettura ARM64. I percorsi nella sezione file del driver usano i percorsi di Homebrew x64, che per impostazione predefinita sono /usr/local, quindi i percorsi dei file varieranno di conseguenza.

Microsoft ODBC 18

Per installare il Microsoft ODBC Server 18 for SQL Server in macOS, eseguire i comandi seguenti:

/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

Versioni precedenti

Nelle sezioni seguenti vengono fornite le istruzioni per l'installazione delle versioni precedenti di Microsoft ODBC Driver in macOS.

Microsoft ODBC 17

Per installare Microsoft ODBC Driver 17 for SQL Server in macOS, eseguire i comandi seguenti:

/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 è stato installato il pacchetto msodbcsql v17 rimasto disponibile per poco tempo, rimuoverlo prima di installare il pacchetto msodbcsql17. Si eviteranno così conflitti. È possibile installare il pacchetto msodbcsql17 side-by-side con il pacchetto msodbcsql v13.

ODBC 13.1

Usare i comandi seguenti per installare Microsoft ODBC Driver 13.1 for SQL Server in OS X 10.11 (El Capitan) e 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

File dei driver

Il driver ODBC in macOS include i componenti seguenti:

Componente Descrizione
libmsodbcsql.18.dylib or libmsodbcsql.17.dylib or libmsodbcsql.13.dylib File della libreria di collegamento dinamico (dylib) che contiene tutte le funzionalità del driver. Questo file viene installato in /usr/local/lib/.
msodbcsqlr18.rll o msodbcsqlr17.rll o msodbcsqlr13.rll File di risorse associato per la libreria del driver. Questo file viene installato in [driver .dylib directory]../share/msodbcsql18/resources/en_US/ per il driver 18, in [driver .dylib directory]../share/msodbcsql17/resources/en_US/ per il driver 17 e in [driver .dylib directory]../share/msodbcsql/resources/en_US/ per il driver 13.
msodbcsql.h File di intestazione che contiene tutte le nuove definizioni necessarie per usare il driver.

Nota: non è possibile fare riferimento a msodbcsql.h e odbcss.h nello stesso programma.
msodbcsql.h viene installato in /usr/local/include/msodbcsql18/ per il driver 18, in /usr/local/include/msodbcsql17/ per il driver 17 e in /usr/local/include/msodbcsql/ per il driver 13.
LICENSE.txt File di testo che contiene i termini del contratto di licenza con l'utente finale. Questo file viene inserito in /usr/local/share/doc/msodbcsql18/ per il driver 18, in /usr/local/share/doc/msodbcsql17/ per il driver 17 e in /usr/local/share/doc/msodbcsql/ per il driver 13.
RELEASE_NOTES File di testo che contiene le note sulla versione. Questo file viene inserito in /usr/local/share/doc/msodbcsql18/ per il driver 18, in /usr/local/share/doc/msodbcsql17/ per il driver 17 e in /usr/local/share/doc/msodbcsql/ per il driver 13.

Caricamento del file di risorse

Perché possa funzionare, il driver deve caricare il file di risorse. Questo file è denominato msodbcsqlr18.rll, msodbcsqlr17.rll o msodbcsqlr13.rll a seconda della versione del driver. La posizione del file .rll dipende dalla posizione del driver stesso (so o dylib), come indicato nella tabella dei componenti. A partire dalla versione 17.1 il driver tenta anche di caricare il file .rll dalla directory predefinita se il caricamento dal percorso relativo non riesce. Il percorso del file di risorse predefinito in macOS è /usr/local/share/msodbcsql18/resources/en_US/

Risoluzione dei problemi

Alcuni utenti riscontrano un problema quando tentano di connettersi dopo aver installato il driver ODBC e ricevono un errore come: "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 18 for SQL Server' : file not found (0) (SQLDriverConnect)". È possibile che unixODBC non sia configurato correttamente per trovare i driver registrati. In questi casi la creazione di collegamenti simbolici può risolvere il problema.

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

Per altri casi in cui non è possibile effettuare una connessione a SQL Server usando il driver ODBC, vedere l'articolo sui problemi noti dedicato alla risoluzione dei problemi di connessione.

Se brew ha problemi a trovare le formule, assicurarsi di non ignorare il passaggio di installazione: brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release