Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird die Installation von Microsoft ODBC Driver for SQL Server unter Linux erläutert. Er enthält außerdem Anweisungen für die optionalen Befehlszeilentools für SQL Server (bcp und sqlcmd) und die unixODBC-Entwicklungsheader.
In diesem Artikel finden Sie Befehle zum Installieren des ODBC-Treibers über die Bash-Shell. Wenn Sie die Pakete direkt herunterladen möchten, siehe ODBC-Treiber herunterladen für SQL Server.
Microsoft ODBC 18
In den folgenden Abschnitten erfahren Sie, wie Sie Microsoft ODBC Driver 18 für verschiedene Linux-Distributionen über die Bash-Shell herunterladen. Unterstützte Distributionen sind Alpine Linux, Debian, Red Hat Enterprise Linux (RHEL), Oracle Linux, SUSE Linux Enterprise Server (SLES), Ubuntu und Azure Linux. Ab Version 18.4 können Sie die Datei .deberstellen, um den EULA automatisch bei der Installation des nicht alpinen Linux (.rpm oder /opt/microsoft/msodbcsql18/ACCEPT_EULA) Treibers zu akzeptieren.
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
Hinweis
Die Treiberversion 17.5 oder höher ist für die Unterstützung von Alpine erforderlich.
Vorgängerversionen
In den folgenden Abschnitten finden Sie Anweisungen zum Installieren vorheriger Versionen von Microsoft ODBC Driver unter Linux. Die folgenden Treiberversionen werden abgedeckt:
- Microsoft ODBC-Treiber 17 für SQL Server
- Microsoft ODBC-Treiber 13.1 für SQL Server
- Microsoft ODBC-Treiber 13 für SQL Server
- Microsoft ODBC-Treiber 11 für SQL Server
Microsoft ODBC 17
In den folgenden Abschnitten erfahren Sie, wie Sie Microsoft ODBC Driver 17 für verschiedene Linux-Distributionen über die Bash-Shell herunterladen.
Wichtig
Wenn Sie das kurz verfügbare v17-Paket msodbcsql installiert haben, entfernen Sie es, bevor Sie das msodbcsql17 Paket installieren, um Konflikte zu vermeiden. Sie können das msodbcsql17 Paket nebeneinander mit dem msodbcsql v13-Paket installieren.
#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
Hinweis
Die Treiberversion 17.5 oder höher ist für die Unterstützung von Alpine erforderlich.
ODBC 13.1
In den folgenden Abschnitten erfahren Sie, wie Sie Microsoft ODBC Driver 13.1 für verschiedene Linux-Distributionen über die Bash-Shell herunterladen.
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 den folgenden Abschnitten erfahren Sie, wie Sie Microsoft ODBC Driver 13 für verschiedene Linux-Distributionen über die Bash-Shell herunterladen.
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
Wenn Sie den Microsoft ODBC-Treiber 13 auf einem Computer ohne Internetverbindung installieren müssen, müssen Sie Paketabhängigkeiten manuell auflösen. Der Microsoft ODBC-Treiber 13 hat die folgenden direkten Abhängigkeiten:
- Ubuntu:
libc6(>= 2.21),libstdc++6(>= 4.9),libkrb5-3,libcurl3,openssldebconf(>= 0,5),unixODBC(>= 2.3.1-1) - Red Hat:
glibc, ,e2fsprogskrb5-libs, ,opensslunixODBC - SUSE:
glibc,libuuid1,krb5,openssl,unixODBC
Jedes dieser Pakete verfügt über eigene Abhängigkeiten, die möglicherweise auf dem System vorhanden sind oder nicht. Eine allgemeine Lösung für dieses Problem finden Sie in der Paket-Manager-Dokumentation Ihrer Distribution: Red Hat, Ubuntu und SUSE.
Sie können alle abhängigen Pakete manuell herunterladen und auf dem Installationscomputer platzieren. Installieren Sie anschließend jedes Paket manuell, und beenden Sie es mit dem Microsoft ODBC Driver 13-Paket.
- Laden Sie das neueste
msodbcsql-Paket von https://packages.microsoft.com/rhel/7/prod/ herunter. - Installieren Sie die Abhängigkeiten und den Treiber.
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 den folgenden Abschnitten wird die Installation von Microsoft ODBC Driver 11 unter Linux erläutert. Sie müssen den unixODBC-Treiber-Manager installieren, bevor Sie den Treiber verwenden können. Weitere Informationen finden Sie unter Installieren des Treiber-Managers.
Installationsschritte
Wichtig
Diese Anleitung bezieht sich auf msodbcsql-11.0.2270.0.tar.gz, die Installationsdatei für Red Hat Linux. Beim Installieren von SUSE Linux lautet der Dateiname msodbcsql-11.0.2260.0.tar.gz.
Den Treiber installieren:
Stellen Sie sicher, dass Sie die Root-Berechtigung besitzen.
Laden Sie den Treiber herunter.
Verteilung Driver SHA-256-Hash Roter Hut 5 msodbcsql-11.0.2270.0.tar.gz 178280daf01a49b8322cd902b6440979adacd594c01cd2a1f081dda23dbfb343 Roter Hut 6 msodbcsql-11.0.2270.0.tar.gz e9b6bd33d174c7753b3a3f2d541713fbc156b46254484a169caa3f459dd828f7 SUSE Linux msodbcsql-11.0.2260.0.tar.gz 86d1c5842be4f0095234a9455e18a04fdf4cc7960ec0255b37258112e2391ef5 Wechseln Sie zu dem Verzeichnis, in dem der Download die Datei
msodbcsql-11.0.2270.0.tar.gzplatziert hat. Stellen Sie sicher, dass Sie über die*.tar.gzDatei verfügen, die Ihrer Version von Linux entspricht. Führen Sie zum Extrahieren der Dateien den folgenden Befehl aus:tar xvzf msodbcsql-11.0.2270.0.tar.gzWechseln Sie in das Verzeichnis
msodbcsql-11.0.2270.0. Es sollte eine Datei mit dem Nameninstall.shangezeigt werden.Führen Sie den folgenden Befehl aus, um eine Liste der verfügbaren Installationsoptionen anzuzeigen:
./install.shErstellen Sie eine Sicherung von
odbcinst.ini. Die Treiberinstallationsupdatesodbcinst.ini. „odbcinst.ini“ beinhaltet die Liste der Treiber, die beim unixODBC-Treiber-Manager registriert sind. Um den Speicherort von odbcinst.ini auf Ihrem Computer zu ermitteln, führen Sie den folgenden Befehl aus:odbc_config --odbcinstiniFühren Sie vor der Installation des Treibers den folgenden Befehl aus:
./install.sh verifyDie Ausgabe von
./install.sh verifygibt an, ob Ihr Computer über die erforderliche Software verfügt, um den ODBC-Treiber unter Linux zu unterstützen.Wenn Sie bereit sind, den ODBC-Treiber unter Linux zu installieren, führen Sie den Folgenden Befehl aus:
./install.sh installWenn Sie einen Installationsbefehl (
bin-diroderlib-dir) angeben müssen, geben Sie den Befehl nach derinstallOption an.Geben Sie nach der Überprüfung des Lizenzvertrags
YESein, um mit der Installation fortzufahren.
Die Installation platziert den Treiber in /opt/microsoft/msodbcsql/11.0.2270.0. Der Treiber und seine Unterstützungsdateien müssen sich in /opt/microsoft/msodbcsql/11.0.2270.0 befinden.
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob der Microsoft ODBC-Treiber unter Linux erfolgreich registriert wurde:
odbcinst -q -d -n "ODBC Driver 11 for SQL Server"
Deinstallieren
Deinstallieren Sie den ODBC-Treiber 11 unter Linux, indem Sie die folgenden Befehle ausführen:
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"
Treiberdateien
Der ODBC-Treiber unter Linux enthält die folgenden Komponenten:
| Komponente | BESCHREIBUNG |
|---|---|
libmsodbcsql-17.X.so.X.X oder libmsodbcsql-13.X.so.X.X |
Das freigegebene Objekt (so) der dynamischen Bibliotheksdatei, das die gesamte Funktionalität des Treibers enthält. Der Installationspfad gilt /opt/microsoft/msodbcsql17/lib64/ für Treiber 17 und /opt/microsoft/msodbcsql/lib64/ für Treiber 13. |
msodbcsqlr17.rll oder msodbcsqlr13.rll |
Die Ressourcendatei, die zur Treiberbibliothek gehört. Der Installationspfad ist [driver .so directory]../share/resources/en_US/ |
msodbcsql.h |
Die Headerdatei, die alle erforderlichen neuen Definitionen für die Verwendung des Treibers enthält. Hinweis: In demselben Programm kann nicht sowohl auf msodbcsql.h als auch auf odbcss.h verwiesen werden.Der Installationspfad gilt /opt/microsoft/msodbcsql17/include/ für Treiber 17 und /opt/microsoft/msodbcsql/include/ für Treiber 13. |
LICENSE.txt |
Die Textdatei, die die Bestimmungen des Endbenutzer-Lizenzvertrags enthält. Der Installationspfad gilt /usr/share/doc/msodbcsql17/ für Treiber 17 und /usr/share/doc/msodbcsql/ für Treiber 13. |
RELEASE_NOTES |
Die Textdatei, die die Versionshinweise enthält. Der Installationspfad gilt /usr/share/doc/msodbcsql17/ für Treiber 17 und /usr/share/doc/msodbcsql/ für Treiber 13. |
Laden der Ressourcendatei
Der Treiber muss die Ressourcendatei laden, um zu funktionieren. Diese Datei heißt msodbcsqlr17.rll oder msodbcsqlr13.rll, je nach Treiberversion. Der Speicherort der .rll Datei ist relativ zum Speicherort des Treibers selbst (so oder dylib), wie in der vorherigen Tabelle beschrieben. Ab Version 17.1 versucht der Treiber, wenn er die .rll Datei nicht aus dem relativen Pfad laden kann, auch die .rll Datei aus dem Standardverzeichnis zu laden. Der Standardressourcendatei-Pfad unter Linux lautet /opt/microsoft/msodbcsql17/share/resources/en_US/.
Problembehandlung
Wenn Sie zuvor eine Version des Treibers mit unixODBC installiert und registriert haben, schlägt die Installation möglicherweise mit einem Fehler wie folgt fehl:
Installation failed, ODBC Driver $1 for SQL Server detected!
Um das Problem zu beheben, heben Sie die Registrierung dieser Version des Treibers mithilfe des odbcinst Befehls auf. Ersetzen Sie durch $1 die im Installationsfehler gemeldete Version des Treibers:
odbcinst -u -d -n "ODBC Driver $1 for SQL Server"
Wenn die Deinstallation mithilfe des odbcinst Befehls fehlschlägt, können Sie Treiberabschnitte manuell aus der odbcinst.ini Datei entfernen. Sie können den Speicherort der odbcinst.ini Datei mithilfe des Befehls odbcinst -jfinden.
Wenn Sie mit dem ODBC-Treiber keine Verbindung mit SQL Server herstellen können, lesen Sie den Artikel zu bekannten Problemen bei der Problembehandlung bei Verbindungsproblemen.