Installare Microsoft ODBC Driver for SQL Server (Linux)

Questo articolo illustra come installare Microsoft ODBC Driver for SQL Server in Linux. Sono inoltre incluse le istruzioni per gli strumenti della riga di comando facoltativi per SQL Server (bcp e sqlcmd) e le intestazioni di sviluppo unixODBC.

Questo articolo fornisce i comandi per l'installazione del driver ODBC dalla shell Bash. Se si vogliono scaricare direttamente i pacchetti, vedere Scaricare ODBC Driver for SQL Server.

Microsoft ODBC 18

Le sezioni seguenti illustrano come installare Microsoft ODBC Driver 18 dalla shell bash per distribuzioni Linux diverse.

Alpine Linux

#Download the desired package(s)
curl -O https://download.microsoft.com/download/b/9/f/b9f3cce4-3925-46d4-9f46-da08869c6486/msodbcsql18_18.1.1.1-1_amd64.apk
curl -O https://download.microsoft.com/download/b/9/f/b9f3cce4-3925-46d4-9f46-da08869c6486/mssql-tools18_18.1.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/b/9/f/b9f3cce4-3925-46d4-9f46-da08869c6486/msodbcsql18_18.1.1.1-1_amd64.sig
curl -O https://download.microsoft.com/download/b/9/f/b9f3cce4-3925-46d4-9f46-da08869c6486/mssql-tools18_18.1.1.1-1_amd64.sig

curl https://packages.microsoft.com/keys/microsoft.asc  | gpg --import -
gpg --verify msodbcsql18_18.1.1.1-1_amd64.sig msodbcsql18_18.1.1.1-1_amd64.apk
gpg --verify mssql-tools18_18.1.1.1-1_amd64.sig mssql-tools18_18.1.1.1-1_amd64.apk


#Install the package(s)
sudo apk add --allow-untrusted msodbcsql18_18.1.1.1-1_amd64.apk
sudo apk add --allow-untrusted mssql-tools18_18.1.1.1-1_amd64.apk

Nota

È necessaria la versione del driver 17.5 o versione successiva per il supporto di Alpine.

Debian

sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version

#Debian 9
curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list

#Debian 10
curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list

#Debian 11
curl https://packages.microsoft.com/config/debian/11/prod.list > /etc/apt/sources.list.d/mssql-release.list

exit
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

Nota

È possibile sostituire l'impostazione della variabile di ambiente 'ACCEPT_EULA' impostando invece la variabile 'msodbcsql/ACCEPT_EULA': echo msodbcsql18 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections

Red Hat Enterprise Server e Oracle Linux

sudo su

#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version

#Red Hat Enterprise Server 7 and Oracle Linux 7
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo

#Red Hat Enterprise Server 8 and Oracle Linux 8
curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/mssql-release.repo

exit
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

SUSE Linux Enterprise Server

sudo su
curl -O https://packages.microsoft.com/keys/microsoft.asc
rpm --import microsoft.asc

#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version

#SUSE Linux Enterprise Server 11 SP4
#Ensure SUSE Linux Enterprise 11 Security Module has been installed
zypper ar https://packages.microsoft.com/config/sles/11/prod.repo

#SUSE Linux Enterprise Server 12
zypper ar https://packages.microsoft.com/config/sles/12/prod.repo

#SUSE Linux Enterprise Server 15
zypper ar https://packages.microsoft.com/config/sles/15/prod.repo
#(Only for driver 17.3 and below)
SUSEConnect -p sle-module-legacy/15/x86_64

exit
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

Ubuntu

if ! [[ "18.04 20.04 22.04" == *"$(lsb_release -rs)"* ]];
then
    echo "Ubuntu $(lsb_release -rs) is not currently supported.";
    exit;
fi

sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list > /etc/apt/sources.list.d/mssql-release.list

exit
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

Nota

È possibile sostituire l'impostazione della variabile di ambiente 'ACCEPT_EULA' impostando invece la variabile 'msodbcsql/ACCEPT_EULA': echo msodbcsql18 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections

Versioni precedenti

Nelle sezioni seguenti vengono fornite le istruzioni per l'installazione delle versioni precedenti di Microsoft ODBC Driver in Linux. Le informazioni riguardano le versioni seguenti del driver:

Microsoft ODBC 17

Le sezioni seguenti illustrano come installare Microsoft ODBC Driver 17 dalla shell Bash per diverse distribuzioni Linux.

Importante

Se è stato installato il pacchetto msodbcsql v17 rimasto disponibile per poco tempo, rimuoverlo prima di installare il pacchetto msodbcsql17. Si eviteranno così conflitti. È possibile installare il pacchetto msodbcsql17 side-by-side con il pacchetto msodbcsql v13.

Alpine Linux

#Download the desired package(s)
curl -O https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.1.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.1.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.1.1-1_amd64.sig msodbcsql17_17.10.1.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.1.1-1_amd64.apk
sudo apk add --allow-untrusted mssql-tools_17.10.1.1-1_amd64.apk

Nota

È necessaria la versione del driver 17.5 o versione successiva per il supporto di Alpine.

Debian

sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version

#Debian 8 (only supported up to driver version 17.6)
curl https://packages.microsoft.com/config/debian/8/prod.list > /etc/apt/sources.list.d/mssql-release.list

#Debian 9
curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list

#Debian 10
curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list

#Debian 11
curl https://packages.microsoft.com/config/debian/11/prod.list > /etc/apt/sources.list.d/mssql-release.list

exit
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

Nota

È possibile sostituire l'impostazione della variabile di ambiente 'ACCEPT_EULA' impostando invece la variabile 'msodbcsql/ACCEPT_EULA': echo msodbcsql17 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections

Red Hat Enterprise Server e Oracle Linux

sudo su

#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version

#Red Hat Enterprise Server 6 (only supported up to driver version 17.7)
curl https://packages.microsoft.com/config/rhel/6/prod.repo > /etc/yum.repos.d/mssql-release.repo

#Red Hat Enterprise Server 7 and Oracle Linux 7
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo

#Red Hat Enterprise Server 8 and Oracle Linux 8
curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/mssql-release.repo

exit
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

SUSE Linux Enterprise Server

sudo su
curl -O https://packages.microsoft.com/keys/microsoft.asc
rpm --import microsoft.asc

#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version

#SUSE Linux Enterprise Server 11 SP4
#Ensure SUSE Linux Enterprise 11 Security Module has been installed
zypper ar https://packages.microsoft.com/config/sles/11/prod.repo

#SUSE Linux Enterprise Server 12
zypper ar https://packages.microsoft.com/config/sles/12/prod.repo

#SUSE Linux Enterprise Server 15
zypper ar https://packages.microsoft.com/config/sles/15/prod.repo
#(Only for driver 17.3 and below)
SUSEConnect -p sle-module-legacy/15/x86_64

exit
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

Ubuntu

if ! [[ "16.04 18.04 20.04 22.04" == *"$(lsb_release -rs)"* ]];
then
    echo "Ubuntu $(lsb_release -rs) is not currently supported.";
    exit;
fi

sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list > /etc/apt/sources.list.d/mssql-release.list

exit
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

Nota

È possibile sostituire l'impostazione della variabile di ambiente 'ACCEPT_EULA' impostando invece la variabile 'msodbcsql/ACCEPT_EULA': echo msodbcsql17 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections

ODBC 13.1

Le sezioni seguenti illustrano come installare Microsoft ODBC Driver 13.1 dalla shell Bash per diverse distribuzioni Linux.

Debian 8

sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/debian/8/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
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

Red Hat Enterprise Server 6

sudo su
curl https://packages.microsoft.com/config/rhel/6/prod.repo > /etc/yum.repos.d/mssql-release.repo
exit
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

Red Hat Enterprise Server 7

sudo su
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
exit
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

SUSE Linux Enterprise Server 11

sudo su
zypper ar https://packages.microsoft.com/config/sles/11/prod.repo
exit
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

SUSE Linux Enterprise Server 12

sudo su
zypper ar https://packages.microsoft.com/config/sles/12/prod.repo
exit
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

Ubuntu 15.10

sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/15.10/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
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

Ubuntu 16.04

sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
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

Ubuntu 16.10

sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.10/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
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

Le sezioni seguenti illustrano come installare Microsoft ODBC Driver 13 dalla shell Bash per diverse distribuzioni Linux.

Red Hat Enterprise Server 6 (ODBC 13)

sudo su
curl https://packages.microsoft.com/config/rhel/6/prod.repo > /etc/yum.repos.d/mssql-release.repo
exit
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
ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd
ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp

Red Hat Enterprise Server 7 (ODBC 13)

sudo su
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
exit
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
ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd
ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp

Ubuntu 15.10 (ODBC 13)

sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/15.10/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
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
ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd
ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp

Ubuntu 16.04 (ODBC 13)

sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
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
ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd
ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp

SUSE Linux Enterprise Server 12 (ODBC 13)

sudo su
zypper ar https://packages.microsoft.com/config/sles/12/prod.repo
zypper update
sudo ACCEPT_EULA=Y zypper install msodbcsql-13.0.1.0-1 mssql-tools-14.0.2.0-1
zypper install unixODBC-utf16-devel
#Create symlinks for tools
ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd
ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp

Installazione offline

Se si preferisce o si richiede che Microsoft ODBC Driver 13 sia installato in un computer senza connessione Internet, sarà necessario risolvere manualmente le dipendenze dei pacchetti. Microsoft ODBC Driver 13 presenta le dipendenze dirette seguenti:

  • 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

Ognuno di questi pacchetti ha a sua volta le proprie dipendenze, che potrebbero o meno essere presenti nel sistema. Per una soluzione generale a questo problema, vedere la documentazione di Gestione pacchetti della distribuzione: Red Hat, Ubuntu e SUSE

È anche comune scaricare manualmente tutti i pacchetti dipendenti e inserirli insieme nel computer di installazione, quindi installare manualmente ogni pacchetto a sua volta, terminando con il pacchetto Microsoft ODBC Driver 13.

Red Hat Linux Enterprise Server 7

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

Ubuntu 16.04 (ODBC 13 offline)

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

SUSE Linux Enterprise Server 12 (ODBC 13 offline)

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

Dopo aver completato l'installazione del pacchetto, è possibile verificare che Microsoft ODBC Driver 13 possa trovare tutte le relative dipendenze eseguendo ldd e controllando l'output per le librerie mancanti:

ldd /opt/microsoft/msodbcsql/lib64/libmsodbcsql-*

ODBC 11

Le sezioni seguenti illustrano come installare Microsoft ODBC Driver 11 in Linux. Prima di poter usare il driver, installare Gestione driver unixODBC. Per altre informazioni, vedere Installazione di Gestione driver.

Procedura di installazione

Importante

Queste istruzioni fanno riferimento a msodbcsql-11.0.2270.0.tar.gz, il file di installazione per Red Hat Linux. Se si sta installando l'anteprima per SUSE Linux, il nome del file è msodbcsql-11.0.2260.0.tar.gz.

Per installare il driver:

  1. Assicurarsi di disporre dell'autorizzazione di radice.

  2. Passare alla directory in cui il download ha inserito il file msodbcsql-11.0.2270.0.tar.gz. Verificare di disporre del file *.tar.gz corrispondente alla versione di Linux in uso. Per estrarre i file, eseguire il comando seguente, tar xvzf msodbcsql-11.0.2270.0.tar.gz.

  3. Passare alla directory msodbcsql-11.0.2270.0 contenente un file denominato install.sh.

  4. Per visualizzare un elenco delle opzioni di installazione disponibili, eseguire il comando seguente: ./install.sh

  5. Eseguire il backup di odbcinst.ini. L'installazione del driver aggiorna odbcinst.ini. odbcinst.ini contiene l'elenco dei driver registrati in Gestione driver unixODBC. Per individuare il percorso di odbcinst.ini nel computer in uso, eseguire il comando seguente: odbc_config --odbcinstini.

  6. Prima di installare il driver, eseguire il comando seguente: ./install.sh verify. L'output di ./install.sh verify segnala se il computer dispone del software necessario per supportare il driver ODBC in Linux.

  7. Quando si è pronti per installare il driver ODBC in Linux, eseguire il comando : ./install.sh install. Se è necessario specificare un comando di installazione (bin-dir o lib-dir), specificare il comando dopo l'opzione installa.

  8. Dopo aver esaminato il contratto di licenza, digitare YES per continuare l'installazione.

L'installazione inserisce il driver in /opt/microsoft/msodbcsql/11.0.2270.0. Il driver e i relativi file di supporto devono trovarsi in /opt/microsoft/msodbcsql/11.0.2270.0.

Per verificare che il driver ODBC Microsoft sia stato registrato in Linux, eseguire il comando seguente: odbcinst -q -d -n "ODBC Driver 11 for SQL Server".

Disinstallare

È possibile disinstallare il driver ODBC 11 in Linux eseguendo i comandi seguenti:

  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"

File del driver

Il driver ODBC in Linux include i componenti seguenti:

Componente Descrizione
libmsodbcsql-17.X.so.X.X o libmsodbcsql-13.X.so.X.X File della libreria di collegamento dinamico dell'oggetto condiviso (so) che contiene tutte le funzionalità del driver. Questo file viene installato in /opt/microsoft/msodbcsql17/lib64/ per Driver 17 e in /opt/microsoft/msodbcsql/lib64/ per Driver 13.
msodbcsqlr17.rll o msodbcsqlr13.rll File di risorse associato per la libreria del driver. Questo file viene installato in [driver .so directory]../share/resources/en_US/
msodbcsql.h File di intestazione che contiene tutte le nuove definizioni necessarie per usare il driver.

Nota: Non è possibile fare riferimento a msodbcsql.h e odbcss.h nello stesso programma.

msodbcsql.h viene installato in /opt/microsoft/msodbcsql17/include/ per Driver 17 e in /opt/microsoft/msodbcsql/include/ per Driver 13.
LICENSE.txt File di testo che contiene i termini del contratto di licenza con l'utente finale. Questo file viene inserito in /usr/share/doc/msodbcsql17/ per Driver 17 e in /usr/share/doc/msodbcsql/ per Driver 13.
RELEASE_NOTES File di testo che contiene le note sulla versione. Questo file viene inserito in /usr/share/doc/msodbcsql17/ per Driver 17 e in /usr/share/doc/msodbcsql/ per Driver 13.

Caricamento del file di risorse

Il driver deve caricare il file di risorse per funzionare. Questo file è denominato msodbcsqlr17.rll o msodbcsqlr13.rll a seconda della versione del driver. La posizione del file .rll dipende dalla posizione del driver stesso (so o dylib), come indicato nella tabella precedente. A partire dalla versione 17.1 il driver tenterà anche di caricare il file .rll dalla directory predefinita se il caricamento dal percorso relativo non riesce. Il percorso del file di risorse predefinito in Linux è /opt/microsoft/msodbcsql17/share/resources/en_US/.

Risoluzione dei problemi

Se non è possibile eseguire una connessione a SQL Server usando il driver ODBC, vedere l'articolo problemi noti sulla risoluzione dei problemi di connessione.

Passaggi successivi

Dopo aver installato il driver, è possibile provare l'applicazione di esempio ODBC C++. Per altre informazioni sullo sviluppo di applicazioni ODBC, vedere Sviluppo di applicazioni.

Per altre informazioni, vedere le note sulla versione e i requisiti di sistema del driver ODBC.