Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
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), Ubuntu en Azure Linux. Vanaf versie 18.4 kunt u het bestand .debmaken om de gebruiksrechtovereenkomst automatisch te accepteren bij het installeren van het niet-Alpine Linux -.rpm of /opt/microsoft/msodbcsql18/ACCEPT_EULA-stuurprogramma.
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/9dcab408-e0d4-4571-a81a-5a0951e3445f/msodbcsql18_18.6.1.1-1_$architecture.apk
curl -O https://download.microsoft.com/download/b60bb8b6-d398-4819-9950-2e30cf725fb0/mssql-tools18_18.6.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/9dcab408-e0d4-4571-a81a-5a0951e3445f/msodbcsql18_18.6.1.1-1_$architecture.sig
curl -O https://download.microsoft.com/download/b60bb8b6-d398-4819-9950-2e30cf725fb0/mssql-tools18_18.6.1.1-1_$architecture.sig
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --import -
gpg --verify msodbcsql18_18.6.1.1-1_$architecture.sig msodbcsql18_18.6.1.1-1_$architecture.apk
gpg --verify mssql-tools18_18.6.1.1-1_$architecture.sig mssql-tools18_18.6.1.1-1_$architecture.apk
#Install the package(s)
sudo apk add --allow-untrusted msodbcsql18_18.6.1.1-1_$architecture.apk
sudo apk add --allow-untrusted mssql-tools18_18.6.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-stuurprogramma 17 voor SQL Server-
- Microsoft ODBC-stuurprogramma 13.1 voor SQL Server
- Microsoft ODBC-stuurprogramma 13 voor SQL Server
- Microsoft ODBC-stuurprogramma 11 voor SQL Server-
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-pakket msodbcsql hebt geïnstalleerd dat kort beschikbaar was, verwijdert u het voordat u het msodbcsql17 pakket installeert om conflicten te voorkomen. U kunt het msodbcsql17 pakket naast het msodbcsql v13-pakket installeren.
#Download the desired package(s)
curl -O https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.6.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.6.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.6.1-1_amd64.sig msodbcsql17_17.10.6.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.6.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.
if ! [[ "8" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)"* ]];
then
echo "Debian $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1) is not currently supported.";
exit;
fi
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/debian/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)/packages-microsoft-prod.deb
# Install the package
sudo dpkg -i packages-microsoft-prod.deb
# Delete the file
rm packages-microsoft-prod.deb
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.
if ! [[ "6 7" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)"* ]];
then
echo "RHEL $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1) is not currently supported.";
exit;
fi
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/rhel/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)/packages-microsoft-prod.rpm
# Install the package
sudo yum install packages-microsoft-prod.rpm
# Delete the file
rm packages-microsoft-prod.rpm
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 voor ODBC 13
Als u het Microsoft ODBC-stuurprogramma 13 moet 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,opensslunixODBC - SUSE:
glibc,libuuid1,krb5,openssl,unixODBC
Elk van deze pakketten heeft zijn eigen afhankelijkheden, die al dan niet aanwezig zijn op het systeem. Raadpleeg de documentatie voor pakketbeheer van uw distributie: Red Hat, Ubuntu en SUSE voor een algemene oplossing voor dit probleem.
U kunt alle afhankelijke pakketten handmatig downloaden en deze op de installatiecomputer plaatsen. Installeer vervolgens elk pakket handmatig en voltooi het Microsoft ODBC-stuurprogramma 13.
- Download het nieuwste
msodbcsqlpakket van https://packages.microsoft.com/rhel/7/prod/. - Installeer afhankelijkheden en het stuurprogramma.
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:
Zorg ervoor dat u over rootrechten beschikt.
Download het stuurprogramma.
Distributie Chauffeur SHA256-hash Red Hat 5 msodbcsql-11.0.2270.0.tar.gz 178280daf01a49b8322cd902b6440979adacd594c01cd2a1f081dda23dbfb343 Red Hat 6 msodbcsql-11.0.2270.0.tar.gz e9b6bd33d174c7753b3a3f2d541713fbc156b46254484a169caa3f459dd828f7 SUSE Linux msodbcsql-11.0.2260.0.tar.gz 86d1c5842be4f0095234a9455e18a04fdf4cc7960ec0255b37258112e2391ef5 Ga naar de map waarin de download het bestand
msodbcsql-11.0.2270.0.tar.gzheeft geplaatst. Zorg ervoor dat u het*.tar.gzbestand hebt dat overeenkomt met uw versie van Linux. Voer de volgende opdracht uit om de bestanden te extraheren:tar xvzf msodbcsql-11.0.2270.0.tar.gzGa naar de
msodbcsql-11.0.2270.0directory. U zou een bestand met de naaminstall.shmoeten zien.Voer de volgende opdracht uit om een lijst met de beschikbare installatieopties weer te geven:
./install.shMaak een back-up van
odbcinst.ini. De installatie van het stuurprogramma wordt bijgewerktodbcinst.ini. odbcinst.ini bevat de lijst met stuurprogramma's die zijn geregistreerd bij unixODBC Driver Manager. Voer de volgende opdracht uit om de locatie van odbcinst.ini op uw computer te detecteren:odbc_config --odbcinstiniVoer de volgende opdracht uit voordat u het stuurprogramma installeert:
./install.sh verifyDe uitvoer van
./install.sh verifyrapporteert als uw computer over de vereiste software beschikt om het ODBC-stuurprogramma op Linux te ondersteunen.Wanneer u klaar bent om het ODBC-stuurprogramma op Linux te installeren, voert u de opdracht uit:
./install.sh installAls u een installatieopdracht (
bin-diroflib-dir) moet opgeven, geeft u de opdracht op na deinstalloptie.Nadat u de gebruiksrechtovereenkomst hebt bekeken, typt u
YESom 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
Verwijder het ODBC-stuurprogramma 11 op Linux door de volgende opdrachten uit te voeren:
rm -f /usr/bin/sqlcmd
rm -f /usr/bin/bcp
rm -rf /opt/microsoft/msodbcsql
odbcinst -u -d -n "ODBC Driver 11 for SQL Server"
Stuurprogrammabestanden
Het ODBC-stuurprogramma in Linux bevat 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. Het installatiepad is /opt/microsoft/msodbcsql17/lib64/ voor Driver 17 en /opt/microsoft/msodbcsql/lib64/ voor Driver 13. |
msodbcsqlr17.rll of msodbcsqlr13.rll |
Het resourcebestand dat bij de stuurprogrammabibliotheek hoort. Het installatiepad is [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.Het installatiepad is /opt/microsoft/msodbcsql17/include/ voor Driver 17 en /opt/microsoft/msodbcsql/include/ voor Driver 13. |
LICENSE.txt |
Het tekstbestand met de voorwaarden van de End-User gebruiksrechtovereenkomst. Het installatiepad is /usr/share/doc/msodbcsql17/ voor Driver 17 en /usr/share/doc/msodbcsql/ voor Driver 13. |
RELEASE_NOTES |
Het tekstbestand dat opmerkingen bij de release bevat. Het installatiepad is /usr/share/doc/msodbcsql17/ voor Driver 17 en /usr/share/doc/msodbcsql/ voor Driver 13. |
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 beschreven in de vorige tabel. Vanaf versie 17.1, als het stuurprogramma het .rll bestand niet vanuit het relatieve pad kan laden, wordt ook geprobeerd het .rll bestand vanuit de standaardmap te laden. Het standaardpad naar het bronbestand op Linux is /opt/microsoft/msodbcsql17/share/resources/en_US/.
Problemen oplossen
Als u eerder een versie van het stuurprogramma met unixODBC hebt geïnstalleerd en geregistreerd, kan de installatie mislukken met een fout die vergelijkbaar is met:
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 met behulp van de odbcinst opdracht. Vervang $1 door de versie van het stuurprogramma die is gerapporteerd in de installatiefout:
odbcinst -u -d -n "ODBC Driver $1 for SQL Server"
Als het verwijderen met behulp van de odbcinst opdracht mislukt, kunt u stuurprogrammasecties handmatig uit het odbcinst.ini bestand verwijderen. U kunt de locatie van het odbcinst.ini bestand vinden met behulp van 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.