Installation von Microsoft ODBC Driver for SQL Server (Linux)
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. Informationen zum direkten Herunterladen der Pakete finden Sie unter Herunterladen von ODBC Driver for 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.
Alpine Linux
#Download the desired package(s)
curl -O https://download.microsoft.com/download/b/9/f/b9f3cce4-3925-46d4-9f46-da08869c6486/msodbcsql18_18.1.1.1-1_amd64.apk
curl -O https://download.microsoft.com/download/b/9/f/b9f3cce4-3925-46d4-9f46-da08869c6486/mssql-tools18_18.1.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/b/9/f/b9f3cce4-3925-46d4-9f46-da08869c6486/msodbcsql18_18.1.1.1-1_amd64.sig
curl -O https://download.microsoft.com/download/b/9/f/b9f3cce4-3925-46d4-9f46-da08869c6486/mssql-tools18_18.1.1.1-1_amd64.sig
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --import -
gpg --verify msodbcsql18_18.1.1.1-1_amd64.sig msodbcsql18_18.1.1.1-1_amd64.apk
gpg --verify mssql-tools18_18.1.1.1-1_amd64.sig mssql-tools18_18.1.1.1-1_amd64.apk
#Install the package(s)
sudo apk add --allow-untrusted msodbcsql18_18.1.1.1-1_amd64.apk
sudo apk add --allow-untrusted mssql-tools18_18.1.1.1-1_amd64.apk
Hinweis
Die Treiberversion 17.5 oder höher ist für die Unterstützung von Alpine erforderlich.
Debian
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version
#Debian 9
curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list
#Debian 10
curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list
#Debian 11
curl https://packages.microsoft.com/config/debian/11/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install -y unixodbc-dev
# optional: kerberos library for debian-slim distributions
sudo apt-get install -y libgssapi-krb5-2
Hinweis
Anstatt die Umgebungsvariable ACCEPT_EULA festzulegen, können Sie auch die debconf-Variable msodbcsql/ACCEPT_EULA festlegen: echo msodbcsql18 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections
Red Hat Enterprise Server und Oracle Linux
sudo su
#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version
#Red Hat Enterprise Server 7 and Oracle Linux 7
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
#Red Hat Enterprise Server 8 and Oracle Linux 8
curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/mssql-release.repo
exit
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts
sudo ACCEPT_EULA=Y yum install -y msodbcsql18
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y yum install -y mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo yum install -y unixODBC-devel
SUSE Linux Enterprise Server
sudo su
curl -O https://packages.microsoft.com/keys/microsoft.asc
rpm --import microsoft.asc
#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version
#SUSE Linux Enterprise Server 11 SP4
#Ensure SUSE Linux Enterprise 11 Security Module has been installed
zypper ar https://packages.microsoft.com/config/sles/11/prod.repo
#SUSE Linux Enterprise Server 12
zypper ar https://packages.microsoft.com/config/sles/12/prod.repo
#SUSE Linux Enterprise Server 15
zypper ar https://packages.microsoft.com/config/sles/15/prod.repo
#(Only for driver 17.3 and below)
SUSEConnect -p sle-module-legacy/15/x86_64
exit
sudo ACCEPT_EULA=Y zypper install -y msodbcsql18
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y zypper install -y mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo zypper install -y unixODBC-devel
Ubuntu
if ! [[ "18.04 20.04 22.04" == *"$(lsb_release -rs)"* ]];
then
echo "Ubuntu $(lsb_release -rs) is not currently supported.";
exit;
fi
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install -y unixodbc-dev
Hinweis
Anstatt die Umgebungsvariable ACCEPT_EULA festzulegen, können Sie auch die debconf-Variable msodbcsql/ACCEPT_EULA festlegen: echo msodbcsql18 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections
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 driver 17 for SQL Server
- Microsoft ODBC Driver 13.1 for SQL Server
- Microsoft ODBC Driver 13 for SQL Server
- Microsoft ODBC Driver 11 for 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 msodbcsql
-Paket der Version 17 installiert haben, das kurz verfügbar war, sollten Sie es entfernen, bevor Sie das msodbcsql17
-Paket installieren. Dadurch werden Konflikte vermieden. Das msodbcsql17
-Paket und das msodbcsql
-Paket der Version 13 können nebeneinander installiert werden.
Alpine Linux
#Download the desired package(s)
curl -O https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.1.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.1.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.1.1-1_amd64.sig msodbcsql17_17.10.1.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.1.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.
Debian
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version
#Debian 8 (only supported up to driver version 17.6)
curl https://packages.microsoft.com/config/debian/8/prod.list > /etc/apt/sources.list.d/mssql-release.list
#Debian 9
curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list
#Debian 10
curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list
#Debian 11
curl https://packages.microsoft.com/config/debian/11/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install -y unixodbc-dev
# optional: kerberos library for debian-slim distributions
sudo apt-get install -y libgssapi-krb5-2
Hinweis
Anstatt die Umgebungsvariable ACCEPT_EULA festzulegen, können Sie auch die debconf-Variable msodbcsql/ACCEPT_EULA festlegen: echo msodbcsql17 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections
Red Hat Enterprise Server und Oracle Linux
sudo su
#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version
#Red Hat Enterprise Server 6 (only supported up to driver version 17.7)
curl https://packages.microsoft.com/config/rhel/6/prod.repo > /etc/yum.repos.d/mssql-release.repo
#Red Hat Enterprise Server 7 and Oracle Linux 7
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
#Red Hat Enterprise Server 8 and Oracle Linux 8
curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/mssql-release.repo
exit
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts
sudo ACCEPT_EULA=Y yum install -y msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y yum install -y mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo yum install -y unixODBC-devel
SUSE Linux Enterprise Server
sudo su
curl -O https://packages.microsoft.com/keys/microsoft.asc
rpm --import microsoft.asc
#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version
#SUSE Linux Enterprise Server 11 SP4
#Ensure SUSE Linux Enterprise 11 Security Module has been installed
zypper ar https://packages.microsoft.com/config/sles/11/prod.repo
#SUSE Linux Enterprise Server 12
zypper ar https://packages.microsoft.com/config/sles/12/prod.repo
#SUSE Linux Enterprise Server 15
zypper ar https://packages.microsoft.com/config/sles/15/prod.repo
#(Only for driver 17.3 and below)
SUSEConnect -p sle-module-legacy/15/x86_64
exit
sudo ACCEPT_EULA=Y zypper install -y msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y zypper install -y mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo zypper install -y unixODBC-devel
Ubuntu
if ! [[ "16.04 18.04 20.04 22.04" == *"$(lsb_release -rs)"* ]];
then
echo "Ubuntu $(lsb_release -rs) is not currently supported.";
exit;
fi
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install -y unixodbc-dev
Hinweis
Anstatt die Umgebungsvariable ACCEPT_EULA festzulegen, können Sie auch die debconf-Variable msodbcsql/ACCEPT_EULA festlegen: echo msodbcsql17 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections
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.
Debian 8
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/debian/8/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
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
Red Hat Enterprise Server 6
sudo su
curl https://packages.microsoft.com/config/rhel/6/prod.repo > /etc/yum.repos.d/mssql-release.repo
exit
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts
sudo ACCEPT_EULA=Y yum install msodbcsql
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y yum install mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo yum install unixODBC-devel
Red Hat Enterprise Server 7
sudo su
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
exit
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts
sudo ACCEPT_EULA=Y yum install msodbcsql
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y yum install mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo yum install unixODBC-devel
SUSE Linux Enterprise Server 11
sudo su
zypper ar https://packages.microsoft.com/config/sles/11/prod.repo
exit
sudo ACCEPT_EULA=Y zypper install msodbcsql
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y zypper install mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo zypper install unixODBC-devel
SUSE Linux Enterprise Server 12
sudo su
zypper ar https://packages.microsoft.com/config/sles/12/prod.repo
exit
sudo ACCEPT_EULA=Y zypper install msodbcsql
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y zypper install mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo zypper install unixODBC-devel
Ubuntu 15.10
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/15.10/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
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
Ubuntu 16.04
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
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
Ubuntu 16.10
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.10/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
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.
Red Hat Enterprise Server 6 (ODBC 13)
sudo su
curl https://packages.microsoft.com/config/rhel/6/prod.repo > /etc/yum.repos.d/mssql-release.repo
exit
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
ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd
ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp
Red Hat Enterprise Server 7 (ODBC 13)
sudo su
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
exit
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
ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd
ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp
Ubuntu 15.10 (ODBC 13)
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/15.10/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install msodbcsql=13.0.1.0-1 mssql-tools=14.0.2.0-1
sudo apt-get install unixodbc-dev-utf16 #this step is optional but recommended*
#Create symlinks for tools
ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd
ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp
Ubuntu 16.04 (ODBC 13)
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install msodbcsql=13.0.1.0-1 mssql-tools=14.0.2.0-1
sudo apt-get install unixodbc-dev-utf16 #this step is optional but recommended*
#Create symlinks for tools
ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd
ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp
SUSE Linux Enterprise Server 12 (ODBC 13)
sudo su
zypper ar https://packages.microsoft.com/config/sles/12/prod.repo
zypper update
sudo ACCEPT_EULA=Y zypper install msodbcsql-13.0.1.0-1 mssql-tools-14.0.2.0-1
zypper install unixODBC-utf16-devel
#Create symlinks for tools
ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd
ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp
Offlineinstallation
Wenn Sie es vorziehen oder es erforderlich ist, dass der ODBC-Treiber 13 für Microsoft auf einem Computer ohne Internetverbindung installiert wird, müssen Paketabhängigkeiten manuell aufgelöst werden. Der Microsoft ODBC-Treiber 13 hat die folgenden direkten Abhängigkeiten:
- 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
Jedes dieser Pakete hat wiederum seine eigenen Abhängigkeiten, die auf dem System entweder vorhanden oder nicht vorhanden sind. Eine allgemeine Lösung für das Problem finden Sie in der Paket-Manager-Dokumentation Ihrer Distribution: Red Hat, Ubuntu und SuSE.
Es ist außerdem üblich, alle abhängigen Pakete manuell herunterzuladen und sie zusammen auf dem Installationscomputer zu platzieren, dann wiederum jedes Paket manuell zu installieren und dabei mit dem ODBC-Treiberpaket 13 für Microsoft zu enden.
Red Hat Linux Enterprise Server 7
- Laden Sie die aktuellste
msodbcsql
.rpm
hier https://packages.microsoft.com/rhel/7/prod/herunter. - Installieren Sie die Abhängigkeiten und den Treiber.
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
Ubuntu 16.04 (ODBC 13 offline)
- Laden Sie die aktuellste
msodbcsql
.deb
hierhttps://packages.microsoft.com/ubuntu/16.04/prod/pool/main/m/msodbcsql/ herunter. - Installieren Sie die Abhängigkeiten und den Treiber.
sudo apt-get install libc6 libstdc++6 libkrb5-3 libcurl3 openssl debconf unixodbc unixodbc-dev #install dependencies
sudo dpkg -i msodbcsql_13.1.X.X-X_amd64.deb #install the Driver
SUSE Linux Enterprise Server 12 (ODBC 13 offline)
- Laden Sie die aktuellste
msodbcsql
.rpm
hierhttps://packages.microsoft.com/sles/12/prod/ herunter. - Installieren Sie die Abhängigkeiten und den Treiber.
zypper install glibc, libuuid1, krb5, openssl, unixODBC unixODBC-devel #install dependencies
sudo rpm -i msodbcsql-13.1.X.X-X.x86_64.rpm #install the Driver
Nachdem die Paketinstallation abgeschlossen wurde, können Sie überprüfen, ob der ODBC-Treiber 13 für Microsoft alle seine Abhängigkeiten finden kann, indem Sie „Idd“ ausführen und die entsprechende Ausgabe auf fehlende Bibliotheken untersuchen:
ldd /opt/microsoft/msodbcsql/lib64/libmsodbcsql-*
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. Wenn Sie die Vorschauversion von SUSE Linux installieren, ist der Dateiname msodbcsql-11.0.2260.0.tar.gz
.
Den Treiber installieren:
Stellen Sie sicher, dass Sie die Root-Berechtigung besitzen.
Wechseln Sie zu dem Verzeichnis, in dem der Download die Datei
msodbcsql-11.0.2270.0.tar.gz
platziert hat. Stellen Sie sicher, dass Sie die zu Ihrer Linux-Version passende Datei „*.tar.g“ besitzen. Führen Sie den folgenden Befehl aus, um die Dateien zu extrahieren:tar xvzf msodbcsql-11.0.2270.0.tar.gz
.Wechseln Sie zum Verzeichnis
msodbcsql-11.0.2270.0
, das eine Datei namens install.sh enthalten sollte.Um eine Liste aller verfügbaren Installationsoptionen zu erhalten, führen Sie den folgenden Befehl aus: ./install.sh.
Führen Sie eine Sicherung von odbcinst.inimittels Backup durch. Die Treiberinstallation aktualisiert odbcinst.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 finden, führen Sie den folgenden Befehl aus:
odbc_config --odbcinstini
.Führen Sie den folgenden Befehl aus, bevor Sie den Treiber installieren:
./install.sh verify
. Die Ausgabe von./install.sh verify
gibt 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 diesen Befehl aus:
./install.sh install
. Falls Sie einen Installationsbefehl angeben müssen (bin-dir
oderlib-dir
), geben Sie den Befehl nach der Option install an.Lesen Sie die Lizenzvereinbarung und geben Sie YES ein, 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.
Um zu überprüfen, ob der ODBC-Treiber unter Linux erfolgreich registriert wurde, führen Sie den folgenden Befehl aus: odbcinst -q -d -n "ODBC Driver 11 for SQL Server"
.
Deinstallieren
Sie können den ODBC-Treiber 11 unter Linux deinstallieren, 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 besteht aus den 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. Diese Datei wird in /opt/microsoft/msodbcsql17/lib64/ für den Treiber 17 und in /opt/microsoft/msodbcsql/lib64/ für den Treiber 13 installiert. |
msodbcsqlr17.rll oder msodbcsqlr13.rll |
Die begleitende Ressourcendatei für die Treiberbibliothek. Diese Datei wird in [driver .so directory]../share/resources/en_US/ installiert. |
msodbcsql.h | Die Headerdatei, die alle erforderlichen neuen Definitionen für die Verwendung des Treibers enthält. Hinweis: Sie können nicht im selben Programm auf „msodbcsql.h“ und „odbcss.h“ verweisen. „msodbcsql“ wird in /opt/microsoft/msodbcsql17/include/ für den Treiber 17 und in /opt/microsoft/msodbcsql/include/ für den Treiber 13 installiert. |
LICENSE.txt | Die Textdatei, die die Bestimmungen des Endbenutzer-Lizenzvertrags enthält. Diese Datei wird in /usr/share/doc/msodbcsql17/ für den Treiber 17 und in /usr/share/doc/msodbcsql/ für den Treiber 13 platziert. |
RELEASE_NOTES | Die Textdatei, die die Versionshinweise enthält. Diese Datei wird in /usr/share/doc/msodbcsql17/ für den Treiber 17 und in /usr/share/doc/msodbcsql/ für den Treiber 13 platziert. |
Laden der Ressourcendatei
Der Treiber muss die Ressourcendatei laden, um zu funktionieren. Diese Datei heißt msodbcsqlr17.rll
oder msodbcsqlr13.rll
, je nach Treiberversion. Wie oben in der Tabelle aufgeführt, ist der Speicherort der .rll
-Datei relativ zum Speicherort des Treibers selbst (so
oder dylib
). Ab Version 17.1 versucht der Treiber auch, die .rll
-Datei aus dem Standardverzeichnis zu laden, wenn das Laden aus dem relativen Pfad fehlschlägt. Der Standardressourcendatei-Pfad unter Linux lautet /opt/microsoft/msodbcsql17/share/resources/en_US/
.
Problembehandlung
Wenn Sie mit dem ODBC-Treiber keine Verbindung mit SQL Server herstellen können, finden Sie im Artikel zu bekannten Problemen weitere Informationen zur Problembehandlung bei Verbindungsproblemen.
Nächste Schritte
Nachdem Sie den Treiber installiert haben, können Sie die C++-ODBC-Beispielanwendung testen. Weitere Informationen zum Entwickeln von ODBC-Anwendungen finden Sie unter Entwickeln von Anwendungen.
Weitere Informationen zum ODBC-Treiber finden Sie in den Versionshinweisen und den Systemanforderungen.