Megosztás a következőn keresztül:


A Microsoft ODBC-illesztő telepítése AZ SQL Serverhez (Linux)

Ez a cikk bemutatja, hogyan telepíthető a Microsoft ODBC Driver for SQL Server Linux rendszeren. Útmutatást tartalmaz az SQL Server opcionális parancssori eszközeihez (bcp és sqlcmd) és a unixODBC fejlesztői fejlécekhez.

Ez a cikk parancsokat tartalmaz az ODBC-illesztő bash-rendszerhéjból való telepítéséhez. Ha közvetlenül szeretné letölteni a csomagokat, tekintse meg AZ SQL Server odBC-illesztőprogramjának letöltésecímű témakört.

Microsoft ODBC 18

Az alábbi szakaszok ismertetik, hogyan telepítheti a Microsoft ODBC-illesztőprogram 18-at a bash-rendszerhéjból a különböző Linux-disztribúciókhoz. Támogatott disztribúciók: Alpine Linux, Debian, Red Hat Enterprise Linux (RHEL), Oracle Linux, SUSE Linux Enterprise Server (SLES) és Ubuntu. A 18.4-es verziótól kezdve az EULA automatikus elfogadásához a nem alpine linuxos (.deb vagy .rpm) illesztőprogram telepítésekor létrehozhatja az "/opt/microsoft/msodbcsql18/ACCEPT_EULA" fájlt.

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/fae28b9a-d880-42fd-9b98-d779f0fdd77f/msodbcsql18_18.5.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/fae28b9a-d880-42fd-9b98-d779f0fdd77f/msodbcsql18_18.5.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.5.1.1-1_$architecture.sig msodbcsql18_18.5.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.5.1.1-1_$architecture.apk
sudo apk add --allow-untrusted mssql-tools18_18.4.1.1-1_$architecture.apk

Jegyzet

Az Alpine-támogatáshoz az illesztőprogram 17.5-ös vagy újabb verziója szükséges.

Korábbi verziók

Az alábbi szakaszok a Microsoft ODBC-illesztőprogram korábbi verzióinak Linuxon való telepítésére vonatkozó utasításokat ismertetik. A következő illesztőprogram-verziókról van szó:

Microsoft ODBC 17

A következő szakaszok ismertetik, hogyan telepítheti a Microsoft ODBC driver 17-et a Bash-rendszerhéjból különböző Linux-disztribúciókhoz.

Fontos

Ha telepítette a rövid ideig elérhető v17-msodbcsql csomagot, a msodbcsql17 csomag telepítése előtt el kell távolítania. Ezzel elkerülhetők az ütközések. A msodbcsql17 csomag a msodbcsql v13 csomag mellett telepíthető.

#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

Jegyzet

Az Alpine-támogatáshoz az illesztőprogram 17.5-ös vagy újabb verziója szükséges.

ODBC 13.1

A következő szakaszok ismertetik, hogyan telepíthető a Microsoft ODBC-illesztő 13.1 a Bash-rendszerhéjból különböző Linux-disztribúciókhoz.

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

Az alábbi szakaszok ismertetik, hogyan telepítheti a Microsoft ODBC driver 13-at a Bash-rendszerhéjból a különböző Linux-disztribúciókhoz.

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 telepítés

Ha internetkapcsolat nélküli számítógépre kell telepítenie a Microsoft ODBC Driver 13-at, manuálisan kell feloldania a csomagfüggőségeket. A Microsoft ODBC Driver 13 a következő közvetlen függőségekkel rendelkezik:

  • Ubuntu: libc6 (>= 2,21), libstdc++6 (>= 4,9), libkrb5-3, libcurl3, openssl, debconf (>= 0,5), unixodbc (>= 2.3.1-1)
  • Piros kalap: glibc, e2fsprogs, krb5-libs, openssl, unixODBC
  • FELHASZNÁLÁS: glibc, libuuid1, krb5, openssl, unixODBC

Ezeknek a csomagoknak mindegyike saját függőségekkel rendelkezik, amelyek vagy jelen vannak a rendszeren, vagy nem. A probléma általános megoldásához tekintse meg a disztribúció csomagkezelőjének dokumentációját: Red Hat, Ubuntués SUSE

Az is gyakori, hogy manuálisan töltse le az összes függő csomagot, és helyezze őket együtt a telepítő számítógépre, majd manuálisan telepítse az egyes csomagokat, végül pedig a Microsoft ODBC Driver 13 csomaggal.

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

A következő szakaszok ismertetik, hogyan telepíthető a Microsoft ODBC-illesztő 11 Linuxra. Az illesztőprogram használata előtt telepítse a unixODBC illesztőprogram-kezelőt. További információ: Illesztőprogram-kezelő telepítése.

Telepítési lépések

Fontos

Ezek az utasítások a msodbcsql-11.0.2270.0.tar.gz, amely a Red Hat Linux telepítési fájljára hivatkozik. Ha a SUSE Linuxhoz telepíti, a fájl neve msodbcsql-11.0.2260.0.tar.gz.

Az illesztőprogram telepítése:

  1. Győződjön meg arról, hogy rendelkezik gyökérszintű engedéllyel.

  2. Töltse le az illesztőprogramot.
    Red Hat 5 - msodbcsql-11.0.2270.0.tar.gzSHA256: 178280daf01a49b8322cd902b640979adacd594c01cd2a1f081dda23dbfb343
    Red Hat 6 - msodbcsql-11.0.2270.0.tar.gzSHA256: e9b6bd33d174c7753b3a3f2d541713fbc156b46254484a169caa3f459dd828f7
    SUSE Linux – msodbcsql-11.0.2260.0.tar.gz (SHA256: 86d1c5842be4f0095234a9455e18a04fdf4cc7960ec0255b37258112e2391ef5)

  3. Lépjen arra a könyvtárra, amelybe a fájl msodbcsql-11.0.2270.0.tar.gzle lett töltve. Győződjön meg arról, hogy rendelkezik a Linux verziójának megfelelő *.tar.gz fájllal. A fájlok kinyeréséhez hajtsa végre a következő parancsot, tar xvzf msodbcsql-11.0.2270.0.tar.gz.

  4. Váltson a msodbcsql-11.0.2270.0 könyvtárra, és ott egy install.shnevű fájlnak kell megjelennie.

  5. Az elérhető telepítési lehetőségek listájának megtekintéséhez hajtsa végre a következő parancsot: ./install.sh.

  6. Készítsen biztonsági másolatot odbcinst.ini. A(z) odbcinst.iniillesztőprogram telepítési frissítése. odbcinst.ini tartalmazza a unixODBC Illesztőprogram-kezelőben regisztrált illesztőprogramok listáját. A odbcinst.ini helyének felderítéséhez hajtsa végre a következő parancsot: odbc_config --odbcinstini.

  7. Az illesztőprogram telepítése előtt hajtsa végre a következő parancsot: ./install.sh verify. A ./install.sh verify jelentések kimenete, ha a számítógép rendelkezik a linuxos ODBC-illesztőprogram támogatásához szükséges szoftverrel.

  8. Ha készen áll az ODBC-illesztőprogram linuxos telepítésére, hajtsa végre a következő parancsot: ./install.sh install. Ha meg kell adnia egy telepítési parancsot (bin-dir vagy lib-dir), adja meg a parancsot a telepítési opció után.

  9. A licencszerződés áttekintése után írja be IGEN a telepítés folytatásához.

A telepítés az illesztőprogramot a(z) /opt/microsoft/msodbcsql/11.0.2270.0mappába helyezi. Az illesztőprogramnak és a támogatási fájljainak a /opt/microsoft/msodbcsql/11.0.2270.0-ban kell lenniük.

Annak ellenőrzéséhez, hogy a Linuxon futó Microsoft ODBC-illesztő sikeresen regisztrálva lett-e, hajtsa végre a következő parancsot: odbcinst -q -d -n "ODBC Driver 11 for SQL Server".

Eltávolítás

Az ODBC-illesztő 11 Linuxon az alábbi parancsok végrehajtásával távolítható el:

  1. rm -f /usr/bin/sqlcmd

  2. rm -f /usr/bin/bcp

  3. rm -rf /opt/microsoft/msodbcsql

  4. odbcinst -u -d -n "ODBC Driver 11 for SQL Server"

Illesztőprogram-fájlok

A Linuxon futó ODBC-illesztő a következő összetevőkből áll:

Komponens Leírás
libmsodbcsql-17.X.so.X.X vagy libmsodbcsql-13.X.so.X.X A megosztott objektum (so) dinamikus kódtárfájlja, amely az illesztőprogram összes funkcióját tartalmazza. Ez a fájl a /opt/microsoft/msodbcsql17/lib64/ helyre van telepítve a 17-es vezérlőhöz, és a /opt/microsoft/msodbcsql/lib64/ helyre a 13-as vezérlőhöz.
msodbcsqlr17.rll vagy msodbcsqlr13.rll Az illesztőprogram-kódtárhoz tartozó erőforrásfájl. Ez a fájl telepítve van a [driver .so directory]../share/resources/en_US/
msodbcsql.h Az illesztőprogram használatához szükséges összes új definíciót tartalmazó fejlécfájl.

Megjegyzés: Ugyanabban a programban nem hivatkozhat az msodbcsql.h-ra és az odbcss.h-ra.

Az msodbcsql.h fájl a /opt/microsoft/msodbcsql17/include/-ban van telepítve a 17-es illesztőprogramhoz és a /opt/microsoft/msodbcsql/include/-ben a 13-as illesztőprogramhoz.
LICENCSZÖVEG.txt A End-User Licencszerződés feltételeit tartalmazó szövegfájl. Ez a fájl a /usr/share/doc/msodbcsql17/ helyre kerül a 17-es vezető számára, és a /usr/share/doc/msodbcsql/ helyre a 13-as vezető számára.
kiadási jegyzetek A kibocsátási megjegyzéseket tartalmazó szövegfájl. Ez a fájl a /usr/share/doc/msodbcsql17/ helyre kerül a 17-es vezető számára, és a /usr/share/doc/msodbcsql/ helyre a 13-as vezető számára.

Erőforrásfájl betöltése

Az illesztőprogramnak be kell töltenie az erőforrásfájlt a működéshez. Ezt a fájlt msodbcsqlr17.rll vagy msodbcsqlr13.rll nevezik az illesztőprogram verziójától függően. A .rll fájl helye az illesztőprogram helyéhez (so vagy dylib) viszonyítva van, ahogy az előző táblázatban is látható. A 17.1-es verziótól kezdve az illesztőprogram az alapértelmezett könyvtárból is megpróbálja betölteni a .rll, ha a relatív elérési útról való betöltés sikertelen. Linuxon az alapértelmezett erőforrásfájl elérési útja /opt/microsoft/msodbcsql17/share/resources/en_US/.

Hibaelhárítás

Ha az illesztőprogram egy verzióját korábban telepítették és regisztrálták a UnixODBC-ben, a telepítés sikertelen lehet, például Installation failed, ODBC Driver $1 for SQL Server detected!. A probléma megoldásához törölje az illesztőprogram adott verziójának regisztrációját. Az illesztőprogramok regisztrációját a(z) odbcinst parancs segítségével megszüntetheti: odbcinst -u -d -n "ODBC Driver $1 for SQL Server. (Cserélje le a $1 a telepítési hiba által jelentett illesztőprogram verziójára.) Ha az odbcinst paranccsal történő eltávolítás sikertelen, manuálisan eltávolíthatja az illesztőprogram-szakaszokat a odbcinst.ini fájlból. A odbcinst.ini fájl helyét a odbcinst -jparancson keresztül találja.

Ha nem tud kapcsolatot létesíteni az SQL Serverrel az ODBC-illesztővel, tekintse meg az ismert problémákról szóló cikket kapcsolati problémák elhárításáról.