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), Ubuntu és Azure Linux. A 18.4-es verziótól kezdve a végfelhasználói licencszerződés (EULA) automatikus elfogadásához a nem Alpine Linux (.deb vagy .rpm) illesztőprogram telepítésekor létrehozhatja a fájlt /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

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ő msodbcsql v17-csomagot, távolítsa el azt az msodbcsql17 csomag telepítése előtt az ütközések elkerülése érdekében. A msodbcsql17 csomagot a msodbcsql v13 csomag mellett telepítheti.

#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 az ODBC 13-hoz

Ha a Microsoft ODBC Driver 13-at internetkapcsolat nélküli számítógépre kell telepítenie, 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)
  • Red Hat: glibc, e2fsprogs, krb5-libs, openssl, unixODBC
  • SUSE: glibc, libuuid1, krb5, openssl, unixODBC

Mindegyik csomag saját függőségekkel rendelkezik, amelyek lehetnek vagy nem lehetnek jelen a rendszeren. 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.

Manuálisan letöltheti az összes függő csomagot, és elhelyezheti őket a telepítő számítógépen. Ezután manuálisan telepítse az egyes csomagokat a Microsoft ODBC Driver 13 csomaggal befejezve.

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.

    Disztribúció Driver SHA256 kivonat
    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
  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 *.tar.gz Linux verziójának megfelelő fájllal. A fájlok kinyeréséhez futtassa 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. Ekkor megjelenik egy .. nevű install.shfájl.

  5. Az elérhető telepítési lehetőségek listájának megtekintéséhez futtassa a következő parancsot:

    ./install.sh
    
  6. Készítsen biztonsági másolatot a rendszerről odbcinst.ini. Az illesztőprogram-frissítések telepítése odbcinst.ini. 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 futtassa a következő parancsot:

    odbc_config --odbcinstini
    
  7. Az illesztőprogram telepítése előtt futtassa 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, futtassa 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 install beállítás után.

  9. A licencszerződés áttekintése után írja be YES 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őprogram sikeresen regisztrálva lett-e, futtassa a következő parancsot:

odbcinst -q -d -n "ODBC Driver 11 for SQL Server"

Eltávolítás

Távolítsa el az ODBC-illesztő 11-et Linuxon az alábbi parancsok futtatásával:

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"

Illesztőprogram-fájlok

A Linuxon futó ODBC-illesztő a következő összetevőket tartalmazza:

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. Az illesztőprogram 17 telepítési útvonala /opt/microsoft/msodbcsql17/lib64/, míg az illesztőprogram 13 útvonala /opt/microsoft/msodbcsql/lib64/.
msodbcsqlr17.rll vagy msodbcsqlr13.rll Az illesztőprogram-kódtárat kísérő erőforrásfájl. A telepítési útvonal a következő: [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: Nem hivatkozhat msodbcsql.h és odbcss.h ugyanabban a programban.

Az illesztőprogram 17 telepítési útvonala /opt/microsoft/msodbcsql17/include/, míg az illesztőprogram 13 útvonala /opt/microsoft/msodbcsql/include/.
LICENSE.txt A End-User Licencszerződés feltételeit tartalmazó szövegfájl. Az illesztőprogram 17 telepítési útvonala /usr/share/doc/msodbcsql17/, míg az illesztőprogram 13 útvonala /usr/share/doc/msodbcsql/.
RELEASE_NOTES A kibocsátási megjegyzéseket tartalmazó szövegfájl. Az illesztőprogram 17 telepítési útvonala /usr/share/doc/msodbcsql17/, míg az illesztőprogram 13 útvonala /usr/share/doc/msodbcsql/.

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 fájl helye .rll az előző táblázatban leírtaknak megfelelően az illesztő helyéhez (so vagy dylib) viszonyítva van. A 17.1-es verziótól kezdve, ha az illesztőprogram nem tudja betölteni a .rll fájlt a relatív elérési útból, az alapértelmezett könyvtárból is megpróbálja betölteni a .rll fájlt. Linuxon az alapértelmezett erőforrásfájl elérési útja /opt/microsoft/msodbcsql17/share/resources/en_US/.

Hibaelhárítás

Előző illesztőprogram verzióütközése

Ha korábban a unixODBC-vel telepítette és regisztrálta az illesztőprogram egy verzióját, a telepítés a következőhöz hasonló hibával meghiúsulhat:

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 a odbcinst parancs használatával. Cserélje le $1 az illesztőprogram telepítési hiba által jelentett verziójára:

odbcinst -u -d -n "ODBC Driver $1 for SQL Server"

Ha a parancs használatával történő odbcinst eltávolítás sikertelen, manuálisan eltávolíthatja az illesztőprogram-szakaszokat a odbcinst.ini fájlból. A fájl helyét a odbcinst.ini parancs használatával odbcinst -jtalálja meg.

Csomagletöltési hibák a Debianon és az Ubuntu-on

Debian-alapú disztribúciók esetén a csomag telepítésekor packages-microsoft-prod.deb a következő hibaüzenet jelenhet meg:

dpkg-deb: error: 'packages-microsoft-prod.deb' is not a Debian format archive

Ez a hiba általában azt jelenti, hogy a letöltött fájl sérült vagy hiányos, amelyet gyakran hálózati megszakadás vagy proxyhiba okoz. A probléma megoldása érdekében:

  1. Törölje a sérült fájlt, és töltse le újra. Ubuntu esetén:

    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.deb
    

    A Debian esetében csak a fő verziószámot cserélje le ubuntu és használja:

    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.deb
    
  2. Ellenőrizze, hogy a letöltés érvényes Debian-csomag-e (a kimenetnek tartalmaznia Debian binary packagekell):

    file packages-microsoft-prod.deb
    
  3. Ha a letöltés továbbra is sikertelen, ellenőrizze a hálózati kapcsolatot és a proxybeállításokat, vagy használja wget a következő curlhelyett:

    wget https://packages.microsoft.com/config/ubuntu/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)/packages-microsoft-prod.deb
    

Csatlakozási problémák

Ha nem tud kapcsolatot létesíteni az SQL Serverrel az ODBC-illesztőprogram használatával, tekintse meg a kapcsolati problémák elhárításáról szóló ismert problémákat ismertető cikket.