Dela via


Installera Microsoft ODBC-drivrutinen för SQL Server (macOS)

Den här artikeln beskriver hur du installerar Microsoft ODBC-drivrutinen för SQL Server på macOS. Den innehåller även instruktioner för de valfria kommandoradsverktygen för SQL Server (bcp och sqlcmd) och unixODBC-utvecklingshuvudena.

Den här artikeln innehåller kommandon för att installera ODBC-drivrutinen från bash-gränssnittet. Om du vill ladda ned paketen direkt kan du läsa Ladda ned ODBC-drivrutin för SQL Server.

Anmärkning

Microsoft ODBC-drivrutinen för SQL Server på macOS stöds endast i x64-arkitekturen via version 17.7. Stöd för Apple ARM64 (M1, M2, M3 och senare Apple Silicon-chips) lades till från och med version 17.8. Homebrew-formeln identifierar arkitekturen och installerar automatiskt rätt paket. Om kommandotolken körs i x64-emuleringsläge på ARM64 installeras x64-paketet. Om du inte kör i emuleringsläge installeras ARM64-paketet. Dessutom ändrades homebrew-standardkatalogen med ARM64-arkitekturen till /opt/homebrew. Sökvägarna i avsnittet Drivrutinsfiler använder x64 Homebrew-sökvägarna, som standard är /usr/local, så att dina filsökvägar varierar beroende på detta.

Microsoft ODBC-drivrutinen för macOS är utformad för att fungera med unixODBC (installerad av Homebrew). Om du använder iODBC som drivrutinshanterare kan det uppstå arkitekturmismatchfel som incompatible architecture (have 'arm64', need 'x86_64'). Lös problemet genom att använda unixODBC i stället för iODBC. Homebrew installerar automatiskt unixODBC som ett beroende av msodbcsql18 paketet.

Microsoft ODBC 18

Om du vill installera Microsoft ODBC-drivrutinen 18 för SQL Server på macOS kör du följande kommandon:

/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

Tidigare versioner

Följande avsnitt innehåller instruktioner för att installera tidigare versioner av Microsoft ODBC-drivrutinen på macOS.

Microsoft ODBC 17

Om du vill installera Microsoft ODBC-drivrutinen 17 för SQL Server på macOS kör du följande kommandon:

/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

Viktigt!

Om du har installerat v17-paketet msodbcsql som var kort tillgängligt bör du ta bort det innan du installerar msodbcsql17 paketet. Detta undviker konflikter. Det msodbcsql17 paketet kan installeras sida vid sida med msodbcsql v13-paketet.

ODBC 13.1

Använd följande kommandon för att installera Microsoft ODBC-drivrutinen 13.1 för SQL Server på OS X 10.11 (El Capitan) och 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

Drivrutinsfiler

ODBC-drivrutinen på macOS består av följande komponenter:

Komponent Description
libmsodbcsql.18.dylib eller libmsodbcsql.17.dylib eller libmsodbcsql.13.dylib Den dynamiska biblioteksfilen (dylib) som innehåller alla drivrutinsfunktioner. Den här filen installeras i /usr/local/lib/.
msodbcsqlr18.rll eller msodbcsqlr17.rll eller msodbcsqlr13.rll Den tillhörande resursfilen för drivrutinsbiblioteket. Den här filen är installerad i [driver .dylib directory]../share/msodbcsql18/resources/en_US/ för Driver 18, [driver .dylib directory]../share/msodbcsql17/resources/en_US/ för Driver 17 och in [driver .dylib directory]../share/msodbcsql/resources/en_US/ för Driver 13.
msodbcsql.h Rubrikfilen som innehåller alla nya definitioner som behövs för att använda drivrutinen.

Obs! Du kan inte referera till msodbcsql.h och odbcss.h i samma program.
msodbcsql.h är installerat i /usr/local/include/msodbcsql18/ för Driver 18, /usr/local/include/msodbcsql17/ för Driver 17 och in /usr/local/include/msodbcsql/ för Driver 13.
LICENSE.txt Textfilen som innehåller villkoren i End-User licensavtalet. Den här filen är placerad i /usr/local/share/doc/msodbcsql18/ för Driver 18, /usr/local/share/doc/msodbcsql17/ för Driver 17 och in /usr/local/share/doc/msodbcsql/ för Driver 13.
Versionsanteckningar Textfilen som innehåller releasenoter. Den här filen är placerad i /usr/local/share/doc/msodbcsql18/ för Driver 18, /usr/local/share/doc/msodbcsql17/ för Driver 17 och in /usr/local/share/doc/msodbcsql/ för Driver 13.

Inläsning av resursfil

Drivrutinen behöver ladda resursfilen för att fungera. Den här filen heter msodbcsqlr18.rll, msodbcsqlr17.rlleller msodbcsqlr13.rll beroende på drivrutinsversionen. Platsen för .rll filen är relativ till platsen för själva drivrutinen (so eller dylib), enligt beskrivningen i komponenttabellen. Från och med version 17.1 försöker drivrutinen också läsa in .rll från standardkatalogen om inläsningen från den relativa sökvägen misslyckas. Standardsökvägen till resursfilen i macOS är /usr/local/share/msodbcsql18/resources/en_US/

Felsökning

Vissa användare stöter på ett problem när de försöker ansluta efter installationen av ODBC-drivrutinen och får ett fel som: "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 18 for SQL Server' : file not found (0) (SQLDriverConnect)". Det kan vara så att unixODBC inte är korrekt konfigurerat för att hitta registrerade drivrutiner. I dessa fall kan du lösa problemet genom att skapa symboliska länkar.

Rätt sökvägar beror på mac-arkitekturen. Kör brew --prefix för att fastställa installationsprefixet för Homebrew:

  • Apple Silicon (ARM64) – Homebrew-prefixet är /opt/homebrew
  • Intel (x64) – Homebrew-prefixet är /usr/local

För Apple Silicon (ARM64) Mac-datorer:

sudo ln -s /opt/homebrew/etc/odbcinst.ini /etc/odbcinst.ini
sudo ln -s /opt/homebrew/etc/odbc.ini /etc/odbc.ini

För Intel (x64) Mac-datorer:

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

Anmärkning

På macOS 15 (Sequoia) och senare kanske /usr/local/etc/-katalogen inte finns som standard, särskilt på Apple Silicon-maskiner. Om katalogen inte finns finns ODBC-konfigurationsfilerna under ditt Homebrew-prefix. Kör brew --prefix för att verifiera rätt sökväg för systemet.

Om du inte kan ansluta till SQL Server med hjälp av ODBC-drivrutinen kan du läsa artikeln om kända problem om felsökning av anslutningsproblem.

Om brew har problem med att hitta formlerna ska du se till att du inte hoppade över installationssteget: brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release