Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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. Mezi podporované distribuce patří Alpine Linux, Debian, Red Hat Enterprise Linux (RHEL), Oracle Linux, SUSE Linux Enterprise Server (SLES), Ubuntu a Azure Linux. Počínaje verzí 18.4 lze licenční smlouvu s koncovým uživatelem (EULA) přijmout automaticky při instalaci ovladače pro jiný systém než Alpine Linux (.deb nebo .rpm), a to vytvořením souboru /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
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 verze 17 msodbcsql, který byl krátce dostupný, odeberte ho před instalací balíčku msodbcsql17, abyste se vyhnuli konfliktům. Balíček msodbcsql17 můžete nainstalovat vedle sebe s balíčkem msodbcsql verze 13.
#Download the desired package(s)
curl -O https://download.microsoft.com/download/607ebe2c-e17c-4c34-b367-10a75b83bef9/msodbcsql17_17.11.1.1-1_amd64.apk
curl -O https://download.microsoft.com/download/aca0282f-6a67-49c0-ae08-887d59d16d1a/mssql-tools_17.11.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/607ebe2c-e17c-4c34-b367-10a75b83bef9/msodbcsql17_17.11.1.1-1_amd64.sig
curl -O https://download.microsoft.com/download/aca0282f-6a67-49c0-ae08-887d59d16d1a/mssql-tools_17.11.1.1-1_amd64.sig
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --import -
gpg --verify msodbcsql17_17.11.1.1-1_amd64.sig msodbcsql17_17.11.1.1-1_amd64.apk
gpg --verify mssql-tools_17.11.1.1-1_amd64.sig mssql-tools_17.11.1.1-1_amd64.apk
#Install the package(s)
sudo apk add --allow-untrusted msodbcsql17_17.11.1.1-1_amd64.apk
sudo apk add --allow-untrusted mssql-tools_17.11.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.
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
Následující části vysvětlují, jak nainstalovat ovladač Microsoft ODBC 13 z prostředí Bash pro různé distribuce Linuxu.
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 Instalace ODBC 13
Pokud potřebujete nainstalovat ovladač Microsoft ODBC 13 do počítače bez připojení k internetu, je nutné přeložit závislosti balíčků ručně. Ovladač Microsoft ODBC 13 má následující přímé závislosti:
- Ubuntu:
libc6(>= 2,21),libstdc++6(>= 4,9),libkrb5-3,libcurl3(openssl= 0,5),debconf(>= 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á své vlastní závislosti, které mohou 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, Ubuntu a SUSE.
Všechny závislé balíčky si můžete stáhnout ručně a umístit je do instalačního počítače. Potom ručně nainstalujte každý balíček a dokončujte ho balíčkem Microsoft ODBC Driver 13.
- Stáhněte si nejnovější
msodbcsqlbalíček 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č.
Distribuce Driver Hash SHA256 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 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*.tar.gzsoubor, který odpovídá vaší verzi Linuxu. Pokud chcete extrahovat soubory, spusťte následující příkaz:tar xvzf msodbcsql-11.0.2270.0.tar.gzPřejděte do
msodbcsql-11.0.2270.0adresáře. Měl by se zobrazit soubor s názveminstall.sh.Pokud chcete zobrazit seznam dostupných možností instalace, spusťte následující příkaz:
./install.shVytvořte zálohu
odbcinst.ini. Aktualizace instalaceodbcinst.iniovladače . odbcinst.ini obsahuje seznam ovladačů registrovaných ve Správci ovladačů unixODBC. Pokud chcete zjistit umístění odbcinst.ini v počítači, spusťte následující příkaz:odbc_config --odbcinstiniPřed instalací ovladače spusťte následující příkaz:
./install.sh verifyVýstup
./install.sh verifyuvá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 installPokud potřebujete zadat příkaz instalace (
bin-dirnebolib-dir), zadejte příkaz zainstallmožností.Po kontrole licenční smlouvy zadejte
YES, abyste mohli pokračovat 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.
Pokud chcete ověřit, že ovladač Microsoft ODBC v Linuxu byl úspěšně zaregistrován, spusťte následující příkaz:
odbcinst -q -d -n "ODBC Driver 11 for SQL Server"
Odinstalovat
Odinstalujte ovladač ODBC 11 v Linuxu 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 obsahuje následující komponenty:
| 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. Instalační cesta je /opt/microsoft/msodbcsql17/lib64/ pro ovladač 17 a /opt/microsoft/msodbcsql/lib64/ pro Ovladač 13. |
msodbcsqlr17.rll nebo msodbcsqlr13.rll |
Soubor prostředků, který doprovází knihovnu ovladačů. Instalační cesta je [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: nemůžete odkazovat na msodbcsql.h a odbcss.h ve stejném programu.Instalační cesta je /opt/microsoft/msodbcsql17/include/ pro ovladač 17 a /opt/microsoft/msodbcsql/include/ pro Ovladač 13. |
LICENSE.txt |
Textový soubor, který obsahuje podmínky licenční smlouvy End-User. Instalační cesta je /usr/share/doc/msodbcsql17/ pro ovladač 17 a /usr/share/doc/msodbcsql/ pro Ovladač 13. |
RELEASE_NOTES |
Textový soubor, který obsahuje poznámky k verzi. Instalační cesta je /usr/share/doc/msodbcsql17/ pro ovladač 17 a /usr/share/doc/msodbcsql/ pro Ovladač 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í .rll souboru je relativní vzhledem k umístění samotného ovladače (so nebo dylib), jak je popsáno v předchozí tabulce. Počínaje verzí 17.1, pokud ovladač nemůže načíst .rll soubor z relativní cesty, pokusí se také načíst .rll soubor z výchozího adresáře. Výchozí cesta ke zdrojovému souboru v Linuxu je /opt/microsoft/msodbcsql17/share/resources/en_US/.
Odstraňování problémů
Konflikt s předchozí verzí ovladače
Pokud jste dříve nainstalovali a zaregistrovali verzi ovladače se systémem unixODBC, instalace může selhat s chybou podobnou této:
Installation failed, ODBC Driver $1 for SQL Server detected!
Problém vyřešíte zrušením registrace této verze ovladače pomocí odbcinst příkazu. Nahraďte $1 verzí ovladače hlášenou v chybě instalace:
odbcinst -u -d -n "ODBC Driver $1 for SQL Server"
Pokud odinstalace pomocí odbcinst příkazu selže, můžete ze odbcinst.ini souboru ručně odebrat oddíly ovladačů. Umístění odbcinst.ini souboru najdete pomocí příkazu odbcinst -j.
Chyby při stahování balíčků v Debianu a Ubuntu
V distribucích založených na Debianu se při instalaci packages-microsoft-prod.deb balíčku může zobrazit následující chyba:
dpkg-deb: error: 'packages-microsoft-prod.deb' is not a Debian format archive
Tato chyba obvykle znamená, že stažený soubor je poškozený nebo neúplný, často způsobené přerušením sítě nebo problémem s proxy serverem. Řešení problému:
Odstraňte poškozený soubor a stáhněte ho znovu. Pro 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.debV případě Debianu nahraďte
ubuntua použijte pouze číslo hlavní verze: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.debOvěřte, že stažení je platný balíček Debian (výstup by měl obsahovat
Debian binary package):file packages-microsoft-prod.debPokud stahování nadále selže, zkontrolujte nastavení síťového připojení a proxy serveru nebo použijte
wgetmístocurl:wget https://packages.microsoft.com/config/ubuntu/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)/packages-microsoft-prod.deb
Problémy s připojením
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 s řešením problémů s připojením.