Instalace ovladače Microsoft ODBC pro SQL Server (Linux)
Tento článek vysvětluje, jak nainstalovat ovladač Microsoft ODBC pro SQL Server v Linuxu. Obsahuje také pokyny pro volitelné nástroje příkazového řádku pro SQL Server (bcp
a sqlcmd
) a hlavičky vývoje unixODBC.
Tento článek obsahuje příkazy pro instalaci ovladače ODBC z prostředí Bash. Pokud chcete balíčky stáhnout přímo, přečtěte si téma Stažení ovladače ODBC pro SQL Server.
Microsoft ODBC 18
Následující části vysvětlují, jak nainstalovat ovladač Microsoft ODBC 18 z prostředí Bash pro různé distribuce Linuxu. Podporované distribuce jsou Alpine Linux, Debian, Red Hat Enterprise Linux (RHEL), Oracle Linux, SUSE Linux Enterprise Server (SLES) a Ubuntu. Počínaje verzí 18.4 můžete přijmout smlouvu EULA automaticky při instalaci ovladače jiného systému než Alpine Linux (.deb nebo .rpm), můžete vytvořit soubor /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/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
Poznámka
Pro podporu Alpine se vyžaduje ovladač verze 17.5 nebo vyšší.
Předchozí verze
Následující části obsahují pokyny pro instalaci předchozích verzí ovladače Microsoft ODBC v Linuxu. Probírá se následující verze ovladačů:
- ovladač Microsoft ODBC 17 pro SQL Server
- ovladač Microsoft ODBC 13.1 pro SQL Server
- ovladač Microsoft ODBC 13 pro SQL Server
- ovladač Microsoft ODBC 11 pro SQL Server
Microsoft ODBC 17
Následující části vysvětlují, jak nainstalovat ovladač Microsoft ODBC 17 z prostředí Bash pro různé distribuce Linuxu.
Důležitý
Pokud jste nainstalovali balíček msodbcsql
verze 17, který byl krátce dostupný, měli byste ho před instalací balíčku msodbcsql17
odebrat. Tím se zabrání konfliktům. Balíček msodbcsql17
lze nainstalovat vedle balíčku msodbcsql
v13.
#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
Poznámka
Pro podporu Alpine se vyžaduje ovladač verze 17.5 nebo vyšší.
ODBC 13.1
Následující části vysvětlují, jak nainstalovat ovladač Microsoft ODBC 13.1 z prostředí Bash pro různé distribuce Linuxu.
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
Následující části vysvětlují, jak nainstalovat ovladač Microsoft ODBC 13 z prostředí Bash pro různé distribuce Linuxu.
-
RHEL 7 (ODBC 13) - Ubuntu 16.04 (ODBC 13)
- SLES 12 (ODBC 13)
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 instalace
Pokud potřebujete, aby byl ovladač Microsoft ODBC 13 nainstalovaný na počítači bez připojení k Internetu, musíte ručně vyřešit závislosti balíčku. Ovladač Microsoft ODBC 13 má následující přímé závislosti:
- 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
Každý z těchto balíčků má vlastní závislosti, které můžou nebo nemusí být přítomné v systému. Obecné řešení tohoto problému najdete v dokumentaci správce balíčků vaší distribuce: Red Hat, Ubuntua SUSE
Je také běžné ručně stáhnout všechny závislé balíčky a umístit je dohromady do instalačního počítače a pak ručně nainstalovat jednotlivé balíčky a dokončit je s balíčkem Microsoft ODBC Driver 13.
- Stáhněte si nejnovější verze
msodbcsql
a.rpm
z https://packages.microsoft.com/rhel/7/prod/. - Nainstalujte závislosti a ovladač.
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
Následující části vysvětlují, jak nainstalovat ovladač Microsoft ODBC 11 v Linuxu. Před použitím ovladače nainstalujte správce ovladačů unixODBC. Další informace naleznete v tématu Instalace správce ovladačů.
Kroky instalace
Důležitý
Tyto pokyny odkazují na msodbcsql-11.0.2270.0.tar.gz
, což je instalační soubor pro Red Hat Linux. Pokud instalujete pro SUSE Linux, název souboru je msodbcsql-11.0.2260.0.tar.gz
.
Instalace ovladače:
Ujistěte se, že máte oprávnění ke kořenovému adresáři.
Stáhněte ovladač.
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)Přejděte do adresáře, do kterého se soubor stáhl,
msodbcsql-11.0.2270.0.tar.gz
. Ujistěte se, že máte soubor *.tar.gz, který odpovídá vaší verzi Linuxu. Chcete-li extrahovat soubory, spusťte následující příkaz,tar xvzf msodbcsql-11.0.2270.0.tar.gz
.Přejděte do adresáře
msodbcsql-11.0.2270.0
a tam byste měli vidět soubor s názvem install.sh.Pokud chcete zobrazit seznam dostupných možností instalace, spusťte následující příkaz: ./install.sh.
Vytvořte zálohu odbcinst.ini. Instalace ovladače aktualizuje odbcinst.ini. odbcinst.ini obsahuje seznam ovladačů registrovaných ve Správci ovladačů unixODBC. Chcete-li zjistit umístění odbcinst.ini v počítači, spusťte následující příkaz:
odbc_config --odbcinstini
.Před instalací ovladače spusťte následující příkaz:
./install.sh verify
. Výstup./install.sh verify
uvádí, zda váš počítač má požadovaný software pro podporu ovladače ODBC na Linuxu.Až budete připraveni nainstalovat ovladač ODBC v Linuxu, spusťte příkaz:
./install.sh install
. Pokud potřebujete zadat příkaz install (bin-dir
nebolib-dir
), zadejte příkaz za možnost nainstalovat.Po přezkoumání licenční smlouvy zadejte ANO pro pokračování v instalaci.
Instalace umístí ovladač do /opt/microsoft/msodbcsql/11.0.2270.0
. Ovladač a jeho podpůrné soubory musí být v /opt/microsoft/msodbcsql/11.0.2270.0
.
Chcete-li ověřit, zda byl ovladač Microsoft ODBC v Linuxu úspěšně zaregistrován, spusťte následující příkaz: odbcinst -q -d -n "ODBC Driver 11 for SQL Server"
.
Odinstalovat
Ovladač ODBC 11 v Linuxu můžete odinstalovat spuštěním následujících příkazů:
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"
Soubory ovladačů
Ovladač ODBC v Linuxu se skládá z následujících komponent:
Komponenta | Popis |
---|---|
libmsodbcsql-17.X.so.X.X nebo libmsodbcsql-13.X.so.X.X | Soubor dynamické knihovny sdíleného objektu (so ), který obsahuje všechny funkce ovladače. Tento soubor je nainstalován v /opt/microsoft/msodbcsql17/lib64/ pro Ovladač 17 a v /opt/microsoft/msodbcsql/lib64/ pro Driver 13. |
msodbcsqlr17.rll nebo msodbcsqlr13.rll |
Doprovodný soubor prostředků pro knihovnu ovladačů. Tento soubor je nainstalovaný v [driver .so directory]../share/resources/en_US/ |
msodbcsql.h | Hlavičkový soubor, který obsahuje všechny nové definice potřebné k použití ovladače. Poznámka: ve stejném programu nelze odkazovat na msodbcsql.h a odbcss.h. msodbcsql.h je nainstalován v /opt/microsoft/msodbcsql17/include/ pro ovladač 17 a v /opt/microsoft/msodbcsql/include/ pro Driver 13. |
LICENSE.txt | Textový soubor, který obsahuje podmínky licenční smlouvy End-User. Tento soubor je umístěn v /usr/share/doc/msodbcsql17/ pro Ovladač 17 a v /usr/share/doc/msodbcsql/ pro Driver 13. |
POZNÁMKY K VYDÁNÍ | Textový soubor, který obsahuje poznámky k verzi. Tento soubor je umístěn v /usr/share/doc/msodbcsql17/ pro Ovladač 17 a v /usr/share/doc/msodbcsql/ pro Driver 13. |
Načítání souboru zdrojů
Ovladač musí načíst soubor prostředků, aby fungoval. Tento soubor se nazývá msodbcsqlr17.rll
nebo msodbcsqlr13.rll
v závislosti na verzi ovladače. Umístění souboru .rll
je relativní vzhledem k umístění samotného ovladače (so
nebo dylib
), jak je uvedeno v předchozí tabulce. Od verze 17.1 se ovladač také pokusí načíst .rll
z výchozího adresáře, pokud se načtení z relativní cesty nezdaří. Výchozí cesta ke zdrojovému souboru v Linuxu je /opt/microsoft/msodbcsql17/share/resources/en_US/
.
Řešit problémy
Pokud byla verze ovladače dříve nainstalována a zaregistrována v unixODBC, instalace může selhat s chybou, jako je Installation failed, ODBC Driver $1 for SQL Server detected!
. Pokud chcete tento problém vyřešit, odregistrujte tuto verzi ovladače. Ovladače můžete odregistrovat pomocí příkazu odbcinst
: odbcinst -u -d -n "ODBC Driver $1 for SQL Server
. (Nahraďte $1
verzí ovladače hlášenou v chybě instalace.) Pokud odinstalace prostřednictvím příkazu odbcinst
selže, můžete z odbcinst.ini
souboru ručně odebrat oddíly ovladačů. Umístění souboru odbcinst.ini
najdete pomocí příkazu odbcinst -j
.
Pokud nemůžete vytvořit připojení k SQL Serveru pomocí ovladače ODBC, přečtěte si článek o známých problémech v sekci řešení potíží s připojením.