Udostępnij przez


Instalowanie sterownika Microsoft ODBC dla programu SQL Server (macOS)

W tym artykule wyjaśniono, jak zainstalować sterownik Microsoft ODBC dla programu SQL Server w systemie macOS. Zawiera również instrukcje dotyczące opcjonalnych narzędzi wiersza polecenia dla programu SQL Server (bcp i sqlcmd) oraz nagłówków programowania unixODBC.

Ten artykuł zawiera polecenia służące do instalowania sterownika ODBC z poziomu powłoki bash. Jeśli chcesz pobrać pakiety bezpośrednio, zobacz Pobieranie sterownika ODBC dla programu SQL Server.

Uwaga / Notatka

Sterownik MICROSOFT ODBC dla programu SQL Server w systemie macOS jest obsługiwany tylko w architekturze x64 do wersji 17.7. Dodano obsługę arm64 firmy Apple, począwszy od wersji 17.8. Architektura zostanie wykryta, a prawidłowy pakiet zostanie automatycznie zainstalowany przez formułę Oprogramowania Homebrew. Jeśli wiersz polecenia jest uruchomiony w trybie emulacji x64 na ARM64, zostanie zainstalowany pakiet x64. Jeśli w wierszu polecenia nie działasz w trybie emulacji, pakiet ARM64 zostanie zainstalowany. Ponadto domyślny katalog Oprogramowania Homebrew został zmieniony przy użyciu architektury ARM64 na /opt/homebrew. Ścieżki w sekcji Pliki sterowników używają ścieżek x64 Homebrew, które domyślnie mają wartość /usr/local, więc ścieżki plików będą się odpowiednio różnić.

Protokół Microsoft ODBC 18

Aby zainstalować sterownik Microsoft ODBC 18 dla programu SQL Server w systemie macOS, uruchom następujące polecenia:

/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

Poprzednie wersje

Poniższe sekcje zawierają instrukcje dotyczące instalowania poprzednich wersji sterownika Microsoft ODBC w systemie macOS.

Protokół Microsoft ODBC 17

Aby zainstalować sterownik Microsoft ODBC 17 dla programu SQL Server w systemie macOS, uruchom następujące polecenia:

/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

Ważne

Jeśli zainstalowałeś pakiet w wersji 17 msodbcsql, który był krótko dostępny, należy go usunąć przed zainstalowaniem pakietu msodbcsql17. Pozwoli to uniknąć konfliktów. Pakiet msodbcsql17 można zainstalować obok pakietu msodbcsql w wersji 13.

ODBC 13.1

Użyj następujących poleceń, aby zainstalować sterownik Microsoft ODBC 13.1 dla programu SQL Server w systemach OS X 10.11 (El Capitan) i 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

Pliki sterowników

Sterownik ODBC w systemie macOS składa się z następujących składników:

Składnik Description
libmsodbcsql.18.dylib lub libmsodbcsql.17.dylib lub libmsodbcsql.13.dylib Plik biblioteki dynamicznej (dylib), który zawiera wszystkie funkcje sterownika. Ten plik jest instalowany w /usr/local/lib/.
msodbcsqlr18.rll lub msodbcsqlr17.rll lub msodbcsqlr13.rll Towarzyszący plik zasobów biblioteki sterowników. Ten plik jest instalowany w [driver .dylib directory]../share/msodbcsql18/resources/en_US/ dla sterownika 18, w [driver .dylib directory]../share/msodbcsql17/resources/en_US/ dla sterownika 17 i w [driver .dylib directory]../share/msodbcsql/resources/en_US/ dla sterownika 13.
msodbcsql.h Plik nagłówka zawierający wszystkie nowe definicje potrzebne do użycia sterownika.

Nuta: Nie można odwołać się do pliku msodbcsql.h i odbcss.h w tym samym programie.
Plik msodbcsql.h jest zainstalowany dla /usr/local/include/msodbcsql18/ sterownika 18, /usr/local/include/msodbcsql17/ sterownika 17 i sterownika /usr/local/include/msodbcsql/ 13.
LICENSE.txt Plik tekstowy zawierający postanowienia umowy licencyjnej End-User. Ten plik jest umieszczany w /usr/local/share/doc/msodbcsql18/ dla sterownika 18, w /usr/local/share/doc/msodbcsql17/ dla sterownika 17, i w /usr/local/share/doc/msodbcsql/ dla sterownika 13.
Informacje o wydaniu Plik tekstowy zawierający uwagi do wydania. Ten plik jest umieszczany w /usr/local/share/doc/msodbcsql18/ dla sterownika 18, w /usr/local/share/doc/msodbcsql17/ dla sterownika 17, oraz w /usr/local/share/doc/msodbcsql/ dla sterownika 13.

Ładowanie pliku zasobu

Sterownik musi załadować plik zasobu, aby działał. Ten plik nosi nazwę msodbcsqlr18.rll, msodbcsqlr17.rlllub msodbcsqlr13.rll w zależności od wersji sterownika. Lokalizacja .rll pliku jest względna względem lokalizacji samego sterownika (so lub dylib), jak wspomniano w tabeli składników. Od wersji 17.1 sterownik próbuje również załadować plik .rll z katalogu domyślnego, jeśli ładowanie ze ścieżki względnej zakończy się niepowodzeniem. Domyślna ścieżka pliku zasobu w systemie macOS to /usr/local/share/msodbcsql18/resources/en_US/

Rozwiązywanie problemów

Niektórzy użytkownicy napotykają problem podczas próby nawiązania połączenia po zainstalowaniu sterownika ODBC i występują błędy takie jak: "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 18 for SQL Server' : file not found (0) (SQLDriverConnect)". Może się okazać, że system unixODBC nie jest poprawnie skonfigurowany do znajdowania zarejestrowanych sterowników. W takich przypadkach tworzenie linków symbolicznych może rozwiązać ten problem.

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

W innych przypadkach, w których nie można nawiązać połączenia z programem SQL Server przy użyciu sterownika ODBC, zobacz znany artykuł dotyczący rozwiązywania problemów z połączeniem.

Jeśli brew ma problemy ze znalezieniem formuł, upewnij się, że krok instalacji nie został pominięty: brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release