Delen via


Het Microsoft ODBC-stuurprogramma voor SQL Server (Linux) installeren

In dit artikel wordt uitgelegd hoe u het Microsoft ODBC-stuurprogramma voor SQL Server op Linux installeert. Het bevat ook instructies voor de optionele opdrachtregelprogramma's voor SQL Server (bcp en sqlcmd) en de unixODBC-ontwikkelingsheaders.

Dit artikel bevat opdrachten voor het installeren van het ODBC-stuurprogramma vanuit de bash-shell. Zie ODBC-stuurprogramma downloaden voor SQL Serverals u de pakketten rechtstreeks wilt downloaden.

Microsoft ODBC 18

In de volgende secties wordt uitgelegd hoe u het Microsoft ODBC-stuurprogramma 18 installeert vanuit de bash-shell voor verschillende Linux-distributies. Ondersteunde distributies zijn Alpine Linux, Debian, Red Hat Enterprise Linux (RHEL), Oracle Linux, SUSE Linux Enterprise Server (SLES) en Ubuntu. Vanaf versie 18.4 kunt u het bestand '/opt/microsoft/msodbcsql18/ACCEPT_EULA' maken om de gebruiksrechtovereenkomst automatisch te accepteren bij het installeren van het stuurprogramma van niet-Alpine Linux (.deb of .rpm).

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/7/6/d/76de322a-d860-4894-9945-f0cc5d6a45f8/msodbcsql18_18.4.1.1-1_$architecture.apk
curl -O https://download.microsoft.com/download/7/6/d/76de322a-d860-4894-9945-f0cc5d6a45f8/mssql-tools18_18.4.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/7/6/d/76de322a-d860-4894-9945-f0cc5d6a45f8/msodbcsql18_18.4.1.1-1_$architecture.sig
curl -O https://download.microsoft.com/download/7/6/d/76de322a-d860-4894-9945-f0cc5d6a45f8/mssql-tools18_18.4.1.1-1_$architecture.sig

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

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

Notitie

Stuurprogrammaversie 17.5 of hoger is vereist voor Alpine-ondersteuning.

Vorige versies

De volgende secties bevatten instructies voor het installeren van eerdere versies van het Microsoft ODBC-stuurprogramma op Linux. De volgende stuurprogrammaversies worden behandeld:

Microsoft ODBC 17

In de volgende secties wordt uitgelegd hoe u het Microsoft ODBC-stuurprogramma 17 installeert vanuit de bash-shell voor verschillende Linux-distributies.

Belangrijk

Als u het v17-msodbcsql-pakket hebt geïnstalleerd dat kort beschikbaar was, moet u het verwijderen voordat u het msodbcsql17-pakket installeert. Dit voorkomt conflicten. Het msodbcsql17-pakket kan naast het msodbcsql v13-pakket worden geïnstalleerd.

#Download the desired package(s)
curl -O https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.5.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.5.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.5.1-1_amd64.sig msodbcsql17_17.10.5.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.5.1-1_amd64.apk
sudo apk add --allow-untrusted mssql-tools_17.10.1.1-1_amd64.apk

Notitie

Stuurprogrammaversie 17.5 of hoger is vereist voor Alpine-ondersteuning.

ODBC 13.1

In de volgende secties wordt uitgelegd hoe u het Microsoft ODBC-stuurprogramma 13.1 installeert vanuit de bash-shell voor verschillende Linux-distributies.

curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
curl https://packages.microsoft.com/config/debian/8/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
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

In de volgende secties wordt uitgelegd hoe u het Microsoft ODBC-stuurprogramma 13 installeert vanuit de bash-shell voor verschillende Linux-distributies.

curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
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

Offline-installatie

Als u het Microsoft ODBC-stuurprogramma 13 wilt installeren op een computer zonder internetverbinding, moet u pakketafhankelijkheden handmatig oplossen. Het Microsoft ODBC-stuurprogramma 13 heeft de volgende directe afhankelijkheden:

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

Elk van deze pakketten heeft op zijn beurt hun eigen afhankelijkheden, die al dan niet aanwezig zijn op het systeem. Raadpleeg voor een algemene oplossing voor dit probleem de documentatie voor pakketbeheer van uw distributie: Red Hat-, Ubuntu-en SUSE-

Het is ook gebruikelijk om alle afhankelijke pakketten handmatig te downloaden en deze op de installatiecomputer te plaatsen, vervolgens elk pakket handmatig te installeren, af te ronden met het Microsoft ODBC-stuurprogramma 13-pakket.

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

In de volgende secties wordt uitgelegd hoe u het Microsoft ODBC-stuurprogramma 11 installeert op Linux. Voordat u het stuurprogramma kunt gebruiken, installeert u het unixODBC-stuurprogrammabeheer. Zie Driver Manager installerenvoor meer informatie.

Installatiestappen

Belangrijk

Deze instructies verwijzen naar msodbcsql-11.0.2270.0.tar.gz, een installatiebestand voor Red Hat Linux. Als u voor SUSE Linux installeert, wordt de bestandsnaam msodbcsql-11.0.2260.0.tar.gz.

Het stuurprogramma installeren:

  1. Zorg ervoor dat u over rootrechten beschikt.

  2. Download het stuurprogramma.
    Red Hat 5 - msodbcsql-11.0.2270.0.tar.gzSHA256: 178280daf01a49b8322cd902b6440979adacd594c01cd2a1f081dda23dbfb343
    Red Hat 6 - msodbcsql-11.0.2270.0.tar.gzSHA256: e9b6bd33d174c7753b3a3f2d541713fbc156b46254484a169caa3f459dd828f7
    SUSE Linux - msodbcsql-11.0.2260.0.tar.gz (SHA256: 86d1c5842be4f0095234a9455e18a04fdf4cc7960ec0255b37258112e2391ef5)

  3. Ga naar de map waarin de download het bestand msodbcsql-11.0.2270.0.tar.gzheeft geplaatst. Zorg ervoor dat u het *.tar.gz-bestand hebt dat overeenkomt met uw versie van Linux. Als u de bestanden wilt extraheren, voert u de volgende opdracht uit, tar xvzf msodbcsql-11.0.2270.0.tar.gz.

  4. Ga naar de map msodbcsql-11.0.2270.0 en daar ziet u een bestand met de naam install.sh.

  5. Als u een lijst met de beschikbare installatieopties wilt zien, voert u de volgende opdracht uit: ./install.sh.

  6. Maak een back-up van odbcinst.ini. De installatie van het stuurprogramma update odbcinst.ini. odbcinst.ini bevat de lijst met stuurprogramma's die zijn geregistreerd bij unixODBC Driver Manager. Als u de locatie van odbcinst.ini op uw computer wilt detecteren, voert u de volgende opdracht uit: odbc_config --odbcinstini.

  7. Voordat u het stuurprogramma installeert, voert u de volgende opdracht uit: ./install.sh verify. De uitvoer van ./install.sh verify rapporteert als uw computer over de vereiste software beschikt om het ODBC-stuurprogramma op Linux te ondersteunen.

  8. Wanneer u klaar bent om het ODBC-stuurprogramma op Linux te installeren, voert u de opdracht uit: ./install.sh install. Als u een installatieopdracht (bin-dir of lib-dir) moet opgeven, geeft u de opdracht op na de installatie optie.

  9. Nadat u de licentieovereenkomst hebt bekeken, typt u JA om door te gaan met de installatie.

De installatie plaatst het stuurprogramma in /opt/microsoft/msodbcsql/11.0.2270.0. Het stuurprogramma en de bijbehorende ondersteuningsbestanden moeten zich in /opt/microsoft/msodbcsql/11.0.2270.0bevinden.

Voer de volgende opdracht uit om te controleren of het Microsoft ODBC-stuurprogramma op Linux is geregistreerd: odbcinst -q -d -n "ODBC Driver 11 for SQL Server".

Deïnstalleren

U kunt het ODBC-stuurprogramma 11 op Linux verwijderen door de volgende opdrachten uit te voeren:

  1. rm -f /usr/bin/sqlcmd

  2. rm -f /usr/bin/bcp

  3. rm -rf /opt/microsoft/msodbcsql

  4. odbcinst -u -d -n "ODBC Driver 11 for SQL Server"

Stuurprogrammabestanden

Het ODBC-stuurprogramma op Linux bestaat uit de volgende onderdelen:

Bestanddeel Beschrijving
libmsodbcsql-17. X.so.X.X of libmsodbcsql-13. X.so.X.X Het dynamische bibliotheekbestand (so) van het gedeelde object dat alle functionaliteit van het stuurprogramma bevat. Dit bestand is geïnstalleerd in /opt/microsoft/msodbcsql17/lib64/ voor het stuurprogramma 17 en in /opt/microsoft/msodbcsql/lib64/ voor stuurprogramma 13.
msodbcsqlr17.rll of msodbcsqlr13.rll Het bijbehorende resourcebestand voor de stuurprogrammabibliotheek. Dit bestand is geïnstalleerd in [driver .so directory]../share/resources/en_US/
msodbcsql.h Het headerbestand met alle nieuwe definities die nodig zijn om het stuurprogramma te gebruiken.

Opmerking: U kunt niet verwijzen naar msodbcsql.h en odbcss.h in hetzelfde programma.

msodbcsql.h is geïnstalleerd in /opt/microsoft/msodbcsql17/include/ voor stuurprogramma 17 en in /opt/microsoft/msodbcsql/include/ voor stuurprogramma 13.
LICENSE.txt Het tekstbestand met de voorwaarden van de End-User gebruiksrechtovereenkomst. Dit bestand wordt in /usr/share/doc/msodbcsql17/ voor Driver 17 en in /usr/share/doc/msodbcsql/ voor Driver 13 geplaatst.
RELEASE_NOTES Het tekstbestand dat opmerkingen bij de release bevat. Dit bestand wordt in /usr/share/doc/msodbcsql17/ voor Driver 17 en in /usr/share/doc/msodbcsql/ voor Driver 13 geplaatst.

Resourcebestand laden

Het stuurprogramma moet het resourcebestand laden om te functioneren. Dit bestand wordt msodbcsqlr17.rll of msodbcsqlr13.rll genoemd, afhankelijk van de stuurprogrammaversie. De locatie van het .rll-bestand is relatief ten opzichte van de locatie van het stuurprogramma zelf (so of dylib), zoals vermeld in de vorige tabel. Vanaf versie 17.1 probeert het stuurprogramma ook de .rll vanuit de standaarddirectory te laden als het laden vanuit het relatieve pad mislukt. Het standaardpad naar het bronbestand op Linux is /opt/microsoft/msodbcsql17/share/resources/en_US/.

Problemen oplossen

Als een versie van het stuurprogramma eerder is geïnstalleerd en geregistreerd bij unixODBC, kan de installatie mislukken met een fout zoals Installation failed, ODBC Driver $1 for SQL Server detected!. U kunt het probleem oplossen door de registratie van die versie van het stuurprogramma ongedaan te maken. U kunt de registratie van stuurprogramma's ongedaan maken via de opdracht odbcinst: odbcinst -u -d -n "ODBC Driver $1 for SQL Server. (Vervang $1 door de versie van het stuurprogramma die is gerapporteerd in de installatiefout.) Als het verwijderen via de opdracht odbcinst mislukt, kunt u stuurprogrammasecties handmatig verwijderen uit het odbcinst.ini-bestand. U vindt de locatie van het odbcinst.ini bestand via de opdracht odbcinst -j.

Als u geen verbinding kunt maken met SQL Server met behulp van het ODBC-stuurprogramma, raadpleegt u het artikel over bekende problemen met het oplossen van verbindingsproblemen.