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 můžete při instalaci ovladače pro non-Alpine Linux (.deb nebo .rpm) automaticky přijmout smlouvu EULA 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/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
Poznámka
Pro podporu Alpine se vyžaduje ovladač verze 17.5 nebo vyšší.
if ! [[ "9 10 11 12 13" == *"$(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 -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
Poznámka
Místo nastavení proměnné ACCEPT_EULA prostředí můžete proměnnou debconfmsodbcsql/ACCEPT_EULA nastavit:
echo msodbcsql18 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections
if ! [[ "7 8 9 10" == *"$(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 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
if ! [[ "12 15" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)"* ]];
then
echo "SLES $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1) is not currently supported.";
exit;
fi
# Import the GPG key
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/sles/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)/packages-microsoft-prod.rpm
# Install the package
sudo zypper install packages-microsoft-prod.rpm
# Delete the file
rm packages-microsoft-prod.rpm
sudo zypper update
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
if ! [[ "18.04 20.04 22.04 24.04 25.10" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)"* ]];
then
echo "Ubuntu $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2) is not currently supported.";
exit;
fi
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/ubuntu/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)/packages-microsoft-prod.deb
# Install the package
sudo dpkg -i packages-microsoft-prod.deb
# Delete the file
rm packages-microsoft-prod.deb
# Install the driver
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
Poznámka
Namísto nastavení proměnné ACCEPT_EULA prostředí můžete proměnnou debconfmsodbcsql/ACCEPT_EULA nastavit:
echo msodbcsql18 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections
if ! [[ "3.0" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)"* ]];
then
echo "Azure Linux $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2) is not currently supported.";
exit;
fi
sudo ACCEPT_EULA=Y tdnf install -y msodbcsql18
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y tdnf install -y mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo tdnf install -y unixODBC-devel
Poznámka
Pokud proměnnou ACCEPT_EULA prostředí nenastavíte, instalace bude i nadále pokračovat. Musíte ale ručně spustit /opt/microsoft/msodbcsql18/accept-eula.sh a /opt/mssql-tools18/bin/accept-eula.sh odsouhlasit licenční podmínky. Chcete-li automaticky přijmout smlouvu EULA během instalace, můžete vytvořit soubory /opt/microsoft/msodbcsql18/ACCEPT_EULA a /opt/mssql-tools18/ACCEPT_EULA.
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čů:
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/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
Poznámka
Pro podporu Alpine se vyžaduje ovladač verze 17.5 nebo vyšší.
if ! [[ "8 9 10 11 12" == *"$(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 -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
Poznámka
Místo nastavení proměnné ACCEPT_EULA prostředí můžete proměnnou debconfmsodbcsql/ACCEPT_EULA nastavit:
echo msodbcsql17 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections
if ! [[ "6 7 8 9" == *"$(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 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
if ! [[ "11 12 15" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)"* ]];
then
echo "SLES $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1) is not currently supported.";
exit;
fi
# Import the GPG key
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/sles/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)/packages-microsoft-prod.rpm
# Install the package
sudo zypper install packages-microsoft-prod.rpm
# Delete the file
rm packages-microsoft-prod.rpm
# If you need driver 17.3 or below on SLES 15, you also need to run:
# sudo SUSEConnect -p sle-module-legacy/15/x86_64
sudo zypper update
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
if ! [[ "14.04 16.04 18.04 20.04 22.04" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)"* ]];
then
echo "Ubuntu $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2) is not currently supported.";
exit;
fi
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/ubuntu/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)/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 -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
Poznámka
Místo nastavení proměnné ACCEPT_EULA prostředí můžete proměnnou debconfmsodbcsql/ACCEPT_EULA nastavit:
echo msodbcsql17 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections
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
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 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
if ! [[ "11 12" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)"* ]];
then
echo "SLES $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1) is not currently supported.";
exit;
fi
# Import the GPG key
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/sles/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)/packages-microsoft-prod.rpm
# Install the package
sudo zypper install packages-microsoft-prod.rpm
# Delete the file
rm packages-microsoft-prod.rpm
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
if ! [[ "14.04 16.04" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)"* ]];
then
echo "Ubuntu $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2) is not currently supported.";
exit;
fi
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/ubuntu/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)/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
if ! [[ "14.04 16.04" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)"* ]];
then
echo "Ubuntu $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2) is not currently supported.";
exit;
fi
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/ubuntu/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)/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=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
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
if ! [[ "11 12" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)"* ]];
then
echo "SLES $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1) is not currently supported.";
exit;
fi
# Import the GPG key
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/sles/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)/packages-microsoft-prod.rpm
# Install the package
sudo zypper install packages-microsoft-prod.rpm
# Delete the file
rm packages-microsoft-prod.rpm
sudo zypper update
sudo ACCEPT_EULA=Y zypper install msodbcsql-13.0.1.0-1 mssql-tools-14.0.2.0-1
sudo zypper install unixODBC-utf16-devel
#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), 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á 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.
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
sudo 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
Po dokončení instalace balíčku můžete ověřit, že ovladač Microsoft ODBC 13 najde všechny jeho závislosti spuštěním ldd a kontrolou výstupu chybějících knihoven:
ldd /opt/microsoft/msodbcsql/lib64/libmsodbcsql-*
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
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č.
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.gz soubor, 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.gz
Přejděte do msodbcsql-11.0.2270.0 adresáře. Měl by se zobrazit 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. Aktualizace instalace odbcinst.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 --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 instalace (bin-dir nebo lib-dir), zadejte příkaz za install mož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ů
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.
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.
Související obsah