Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver hur du installerar Microsoft ODBC-drivrutinen för SQL Server i Linux. 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.
Microsoft ODBC 18
I följande avsnitt beskrivs hur du installerar Microsoft ODBC-drivrutinen 18 från bash-gränssnittet för olika Linux-distributioner. Distributioner som stöds är Alpine Linux, Debian, Red Hat Enterprise Linux (RHEL), Oracle Linux, SUSE Linux Enterprise Server (SLES), Ubuntu och Azure Linux. Från och med version 18.4 kan du skapa filen .debom du vill godkänna licensavtalet för slutanvändare (EULA) automatiskt när du installerar den icke-alpine Linux-drivrutinen (.rpm eller /opt/microsoft/msodbcsql18/ACCEPT_EULA).
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/0b3d5518-b4a7-4a2b-afc7-7ee9e967f93c/msodbcsql18_18.6.2.1-1_$architecture.apk
curl -O https://download.microsoft.com/download/cad0d30f-b9b1-4765-a011-81d8a66c8b8d/mssql-tools18_18.6.2.1-1_$architecture.apk
#(Optional) Verify signature, if 'gpg' is missing install it using 'apk add gnupg':
curl -O https://download.microsoft.com/download/0b3d5518-b4a7-4a2b-afc7-7ee9e967f93c/msodbcsql18_18.6.2.1-1_$architecture.sig
curl -O https://download.microsoft.com/download/cad0d30f-b9b1-4765-a011-81d8a66c8b8d/mssql-tools18_18.6.2.1-1_$architecture.sig
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --import -
gpg --verify msodbcsql18_18.6.2.1-1_$architecture.sig msodbcsql18_18.6.2.1-1_$architecture.apk
gpg --verify mssql-tools18_18.6.2.1-1_$architecture.sig mssql-tools18_18.6.2.1-1_$architecture.apk
#Install the package(s)
sudo apk add --allow-untrusted msodbcsql18_18.6.2.1-1_$architecture.apk
sudo apk add --allow-untrusted mssql-tools18_18.6.2.1-1_$architecture.apk
Anteckning
Drivrutinsversion 17.5 eller senare krävs för Alpine-support.
Tidigare versioner
Följande avsnitt innehåller instruktioner för att installera tidigare versioner av Microsoft ODBC-drivrutinen i Linux. Följande drivrutinsversioner beskrivs:
- Microsoft ODBC-drivrutin 17 för SQL Server
- Microsoft ODBC-drivrutin 13.1 för SQL Server
- Microsoft ODBC-drivrutin 13 för SQL Server
- Microsoft ODBC-drivrutin 11 för SQL Server
Microsoft ODBC 17
I följande avsnitt beskrivs hur du installerar Microsoft ODBC-drivrutinen 17 från bash-gränssnittet för olika Linux-distributioner.
Viktig
Om du har installerat v17-paketet msodbcsql som var kort tillgängligt tar du bort det innan du installerar msodbcsql17 paketet för att undvika konflikter. Du kan installera msodbcsql17 paketet sida vid sida med msodbcsql v13-paketet.
#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
Anteckning
Drivrutinsversion 17.5 eller senare krävs för Alpine-support.
ODBC 13.1
I följande avsnitt beskrivs hur du installerar Microsoft ODBC-drivrutinen 13.1 från bash-gränssnittet för olika Linux-distributioner.
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
I följande avsnitt beskrivs hur du installerar Microsoft ODBC-drivrutinen 13 från bash-gränssnittet för olika Linux-distributioner.
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
Offlineinstallation för ODBC 13
Om du behöver installera Microsoft ODBC Driver 13 på en dator utan Internetanslutning måste du lösa paketberoenden manuellt. Microsoft ODBC Driver 13 har följande direkta beroenden:
- 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
Vart och ett av dessa paket har sina egna beroenden, som kanske eller kanske inte finns i systemet. En allmän lösning på det här problemet finns i dokumentationen för din distributions pakethanterare: Red Hat, Ubuntu och SUSE.
Du kan ladda ned alla beroende paket manuellt och placera dem tillsammans på installationsdatorn. Installera sedan varje paket manuellt och avsluta med Microsoft ODBC Driver 13-paketet.
- Ladda ned det senaste
msodbcsqlpaketet från https://packages.microsoft.com/rhel/7/prod/. - Installera beroenden och drivrutinen.
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
I följande avsnitt beskrivs hur du installerar Microsoft ODBC-drivrutinen 11 i Linux. Innan du kan använda drivrutinen installerar du unixODBC-drivrutinshanteraren. Mer information finns i Installera Driver Manager-.
Installationssteg
Viktig
De här anvisningarna refererar till msodbcsql-11.0.2270.0.tar.gz, som är installationsfil för Red Hat Linux. Om du installerar för SUSE Linux är filnamnet msodbcsql-11.0.2260.0.tar.gz.
Så här installerar du drivrutinen:
Kontrollera att du har root-åtkomst.
Ladda ned drivrutinen.
Fördelning Driver SHA256-hashvärde Röd hatt 5 msodbcsql-11.0.2270.0.tar.gz 178280daf01a49b8322cd902b6440979adacd594c01cd2a1f081dda23dbfb343 Röd hatt 6 msodbcsql-11.0.2270.0.tar.gz e9b6bd33d174c7753b3a3f2d541713fbc156b46254484a169caa3f459dd828f7 SUSE Linux msodbcsql-11.0.2260.0.tar.gz 86d1c5842be4f0095234a9455e18a04fdf4cc7960ec0255b37258112e2391ef5 Ändra till katalogen där nedladdningen placerade filen
msodbcsql-11.0.2270.0.tar.gz. Kontrollera att du har filen*.tar.gzsom matchar din version av Linux. Om du vill extrahera filerna kör du följande kommando:tar xvzf msodbcsql-11.0.2270.0.tar.gzByt till
msodbcsql-11.0.2270.0-katalogen. Du bör se en fil med namnetinstall.sh.Kör följande kommando för att se en lista över tillgängliga installationsalternativ:
./install.shGör en säkerhetskopia av
odbcinst.ini. Drivrutinsinstallationen uppdaterarodbcinst.ini. odbcinst.ini innehåller listan över drivrutiner som är registrerade med unixODBC Driver Manager. Kör följande kommando för att identifiera platsen för odbcinst.ini på datorn:odbc_config --odbcinstiniInnan du installerar drivrutinen kör du följande kommando:
./install.sh verifyUtdata från
./install.sh verifyrapporterar om datorn har den programvara som krävs för att stödja ODBC-drivrutinen i Linux.När du är redo att installera ODBC-drivrutinen i Linux kör du kommandot:
./install.sh installOm du behöver ange ett installationskommando (
bin-direllerlib-dir), anger du kommandot efter alternativetinstall.När du har granskat licensavtalet skriver du
YESför att fortsätta med installationen.
Installationen placerar drivrutinen i /opt/microsoft/msodbcsql/11.0.2270.0. Drivrutinen och de tillhörande supportfilerna måste finnas i /opt/microsoft/msodbcsql/11.0.2270.0.
Kontrollera att Microsoft ODBC-drivrutinen på Linux har registrerats genom att köra följande kommando:
odbcinst -q -d -n "ODBC Driver 11 for SQL Server"
Avinstallera
Avinstallera ODBC-drivrutinen 11 i Linux genom att köra följande kommandon:
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"
Drivrutinsfiler
ODBC-drivrutinen i Linux innehåller följande komponenter:
| Komponent | Beskrivning |
|---|---|
libmsodbcsql-17.X.so.X.X eller libmsodbcsql-13.X.so.X.X |
Det delade objektet (so) dynamisk biblioteksfil som innehåller alla drivrutinsfunktioner. Installationssökvägen är /opt/microsoft/msodbcsql17/lib64/ för Drivrutin 17 och /opt/microsoft/msodbcsql/lib64/ för Drivrutin 13. |
msodbcsqlr17.rll eller msodbcsqlr13.rll |
Resursfilen som medföljer drivrutinsbiblioteket. Installationssökvägen är [driver .so directory]../share/resources/en_US/ |
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.Installationssökvägen är /opt/microsoft/msodbcsql17/include/ för Drivrutin 17 och /opt/microsoft/msodbcsql/include/ för Drivrutin 13. |
LICENSE.txt |
Textfilen som innehåller villkoren i End-User licensavtalet. Installationssökvägen är /usr/share/doc/msodbcsql17/ för Drivrutin 17 och /usr/share/doc/msodbcsql/ för Drivrutin 13. |
RELEASE_NOTES |
Textfilen som innehåller releasenoter. Installationssökvägen är /usr/share/doc/msodbcsql17/ för Drivrutin 17 och /usr/share/doc/msodbcsql/ för Drivrutin 13. |
Inläsning av resursfil
Drivrutinen måste läsa in resursfilen för att fungera. Den här filen kallas msodbcsqlr17.rll eller 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 föregående tabell. Från och med version 17.1, om drivrutinen inte kan ladda .rll-filen från den relativa sökvägen, försöker den också ladda .rll-filen från standardkatalogen. Standardsökvägen för resursfiler i Linux är /opt/microsoft/msodbcsql17/share/resources/en_US/.
Felsöka
Konflikt med tidigare drivrutinsversion
Om du tidigare har installerat och registrerat en version av drivrutinen med unixODBC kan installationen misslyckas med ett fel som liknar:
Installation failed, ODBC Driver $1 for SQL Server detected!
Lös problemet genom att avregistrera den versionen av drivrutinen med hjälp odbcinst av kommandot . Ersätt $1 med den version av drivrutinen som rapporterades i installationsfelet:
odbcinst -u -d -n "ODBC Driver $1 for SQL Server"
Om avinstallationen odbcinst med kommandot misslyckas kan du manuellt ta bort drivrutinsavsnitt från odbcinst.ini filen. Du hittar platsen för odbcinst.ini filen med hjälp av kommandot odbcinst -j.
Paketnedladdningsfel på Debian och Ubuntu
På Debianbaserade distributioner kan du se följande fel när du installerar packages-microsoft-prod.deb paketet:
dpkg-deb: error: 'packages-microsoft-prod.deb' is not a Debian format archive
Det här felet innebär vanligtvis att den nedladdade filen är skadad eller ofullständig, vilket ofta orsakas av ett nätverksavbrott eller proxyproblem. Så här löser du problemet:
Ta bort den skadade filen och ladda ned den igen. För Ubuntu:
rm packages-microsoft-prod.deb curl -sSL -O https://packages.microsoft.com/config/ubuntu/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)/packages-microsoft-prod.debFör Debian ersätter
ubuntuoch använder du endast huvudversionsnumret:rm packages-microsoft-prod.deb 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.debKontrollera att nedladdningen är ett giltigt Debian-paket (utdata ska innehålla
Debian binary package):file packages-microsoft-prod.debOm nedladdningen fortsätter att misslyckas kontrollerar du nätverksanslutningen och proxyinställningarna eller använder
wgeti ställetcurlför :wget https://packages.microsoft.com/config/ubuntu/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)/packages-microsoft-prod.deb
Anslutningsproblem
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.