Microsoft ODBC Driver forSQL Serverをインストールする (Linux)
[アーティクル] 01/23/2025
30 人の共同作成者
フィードバック
この記事の内容
この記事では、Microsoft ODBC Driver forSQL Serverを Linux にインストール方法について説明します。 また、SQL Server 用のオプションのコマンドライン ツール (bcp
および sqlcmd
) と、unixODBC 開発ヘッダーについても説明します。
この記事では、Bash シェルから ODBC ドライバーをインストールするためのコマンドについて説明します。 パッケージを直接ダウンロードする場合は、「ODBC Driver forSQL Serverのダウンロード 」を参照してください。
Microsoft ODBC 18
以下のセクションでは、さまざまな Linux ディストリビューション用の Bash シェルから Microsoft ODBC Driver 18をインストールする方法について説明します。 サポートされているディストリビューションは、Alpine Linux、Debian、Red Hat Enterprise Linux (RHEL)、Oracle Linux、SUSE Linux Enterprise Server (SLES)、Ubuntu です。 バージョン 18.4 以降では、Alpine 以外の Linux (.deb または .rpm) ドライバーをインストールするときに EULA を自動的に受け入れるために、ファイル '/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/7/6/d/76de322a-d860-4894-9945-f0cc5d6a45f8/msodbcsql18_18.4.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/7/6/d/76de322a-d860-4894-9945-f0cc5d6a45f8/msodbcsql18_18.4.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.4.1.1-1_$architecture.sig msodbcsql18_18.4.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.4.1.1-1_$architecture.apk
sudo apk add --allow-untrusted mssql-tools18_18.4.1.1-1_$architecture.apk
注意
Alpine のサポートには、ドライバー バージョン 17.5 以降が必要です。
if ! [[ "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 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
注意
環境変数 ACCEPT_EULA
の設定を、msodbcsql/ACCEPT_EULA
の代わりに debconf 変数 echo msodbcsql18 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections
の設定に置き換えることができます。
if ! [[ "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 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
# 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" == *"$(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
注意
echo msodbcsql18 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections
のように、環境変数 'ACCEPT_EULA' の設定を、debconf 変数 'msodbcsql/ACCEPT_EULA' の設定と置き換えることができます。
以前のバージョン
以下のセクションでは、以前のバージョンの Microsoft ODBC Driverを Linux にインストールする手順について説明します。 次のバージョンのドライバーが対象です。
Microsoft ODBC 17
以下のセクションでは、さまざまな Linux ディストリビューション用の Bash シェルから Microsoft ODBC Driver 17をインストールする方法について説明します。
重要
短期間利用可能だった v17 msodbcsql
パッケージをインストールしている場合は、msodbcsql17
パッケージのインストール前に削除する必要があります。 これにより、競合が回避されます。 msodbcsql17
パッケージは msodbcsql
v13 パッケージと並行してインストールできます。
#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
注意
Alpine のサポートには、ドライバー バージョン 17.5 以降が必要です。
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
注意
echo msodbcsql17 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections
のように、環境変数 'ACCEPT_EULA' の設定を、debconf 変数 'msodbcsql/ACCEPT_EULA' の設定と置き換えることができます。
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
# 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
注意
echo msodbcsql17 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections
のように、環境変数 'ACCEPT_EULA' の設定を、debconf 変数 'msodbcsql/ACCEPT_EULA' の設定と置き換えることができます。
ODBC 13.1
以下のセクションでは、さまざまな Linux ディストリビューション用の Bash シェルから Microsoft ODBC Driver 13.1をインストールする方法について説明します。
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
# 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
以下のセクションでは、さまざまな Linux ディストリビューション用の Bash シェルから Microsoft ODBC Driver 13をインストールする方法について説明します。
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
# 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
オフライン インストール
インターネットに接続されていないコンピューター上に Microsoft ODBC Driver 13をインストールする必要がある場合は、パッケージの依存関係を手動で解決する必要があります。 Microsoft ODBC Driver 13 には、次の直接的な依存関係があります。
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
これらの各パッケージにはそれぞれ独自の依存関係があり、システムに存在する場合と存在しない場合があります。 この問題の一般的な解決策については、ディストリビューションのパッケージ マネージャーの Red Hat 、Ubuntu 、および SUSE に関するドキュメントを参照してください。
また、すべての従属パッケージを手動でダウンロードし、インストール コンピューターにまとめて配置してから、各パッケージを順に手動でインストールし、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
パッケージのインストールを完了したら、lddを実行し、不足しているライブラリがないか出力を調べることで、Microsoft ODBC Driver 13 がすべての依存関係を検出できることを確認できます。
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
次のセクションでは、Microsoft ODBC Driver 11を Linux にインストールする方法について説明します。 ドライバーを使用する前に、unixODBC ドライバー マネージャーをインストールしておく必要があります。 詳細については、「ドライバー マネージャーのインストール 」を参照してください。
インストール手順
重要
次の手順では、Red Hat Linux 用のインストール ファイル msodbcsql-11.0.2270.0.tar.gz
を参照しています。 SUSE Linux 用にインストールする場合、ファイル名は msodbcsql-11.0.2260.0.tar.gz
。
ドライバーをインストールするには:
ルートのアクセス許可があることを確認します。
ドライバーをダウンロードします。
Red Hat 5 - msodbcsql-11.0.2270.0.tar.gz SHA256: 178280daf01a49b8322cd902b6440979adacd594c01cd2a1f081dda23dbfb343
Red Hat 6 - msodbcsql-11.0.2270.0.tar.gz SHA256: e9b6bd33d174c7753b3a3f2d541713fbc156b46254484a169caa3f459dd828f7
SUSE Linux - msodbcsql-11.0.2260.0.tar.gz (SHA256: 86d1c5842be4f0095234a9455e18a04fdf4cc7960ec0255b37258112e2391ef5)
ダウンロードでファイル msodbcsql-11.0.2270.0.tar.gz
を配置したディレクトリに切り替えます。 使用している Linux のバージョンに対応する *.tar.gz ファイルがあることを確認します。 ファイルを解凍するには、コマンド tar xvzf msodbcsql-11.0.2270.0.tar.gz
を実行します。
msodbcsql-11.0.2270.0
のディレクトリに移動すると、ディレクトリ内に install.sh というファイルがあることを確認できます。
使用可能なインストール オプションの一覧を表示するには、コマンド ./install.sh を実行します。
odbcinst.ini のバックアップを作成します。 ドライバーのインストールで、 odbcinst.ini を更新します。 odbcinst.ini には、unixODBC ドライバー マネージャーで登録されたドライバーの一覧が含まれます。 コンピューターの odbcinst.ini の場所を検出するには、コマンド odbc_config --odbcinstini
を実行します。
ドライバーをインストールする前に、コマンド ./install.sh verify
を実行します。 LinuxでODBC ドライバーをサポートするためにコンピューターに必要なソフトウェアがある場合、./install.sh verify
の出力でレポートされます。
Linux に ODBC ドライバーをインストールする準備が整ったら、コマンド ./install.sh install
を実行します。 インストール コマンド (bin-dir
またはlib-dir
)を指定する必要がある場合は、install オプションの後にコマンドを指定してください。
使用許諾契約を確認し、 YES と入力してインストールを続行します。
インストールで、ドライバーが /opt/microsoft/msodbcsql/11.0.2270.0
に配置されます。 /opt/microsoft/msodbcsql/11.0.2270.0
には、ドライバーとそのサポート ファイルが保存されている必要があります。
Linux の Microsoft ODBC ドライバーが正常に登録されたことを確認するには、コマンド odbcinst -q -d -n "ODBC Driver 11 for SQL Server"
を実行します。
アンインストール
Linux の ODBC ドライバー 11をアンインストールするには、次のコマンドを実行します。
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"
ドライバー ファイル
Linux 上の ODBC ドライバーは、次のコンポーネントで構成されています。
コンポーネント
説明
libmsodbcsql-17.X.so.X.X またはlibmsodbcsql-13.X.so.X.X
ドライバーのすべての機能を含む共有オブジェクト (so
) ダイナミック ライブラリ ファイル。 このファイルは、Driver 17 では /opt/microsoft/msodbcsql17/lib64/
、Driver 13 では /opt/microsoft/msodbcsql/lib64/
にインストールされます。
msodbcsqlr17.rll
またはmsodbcsqlr13.rll
ドライバー ライブラリに付随するリソース ファイル。 このファイルは [driver .so directory]../share/resources/en_US/
にインストールされます
msodbcsql.h
ドライバーを使用するために必要な新しい定義がすべて含まれているヘッダー ファイル。注: msodbcsql.h と odbcss.hを同じプログラムで参照することはできません。 msodbcsql.h は、Driver 17 では /opt/microsoft/msodbcsql17/include/
、Driver 13 では /opt/microsoft/msodbcsql/include/
にインストールされます。
LICENSE.txt
使用許諾契約書の条項を含むテキスト ファイル。 このファイルは、Driver 17 では /usr/share/doc/msodbcsql17/
、Driver 13 では /usr/share/doc/msodbcsql/
に配置されます。
RELEASE_NOTES
リリース ノートを含むテキスト ファイル。 このファイルは、Driver 17 では /usr/share/doc/msodbcsql17/
、Driver 13 では /usr/share/doc/msodbcsql/
に配置されます。
リソース ファイルの読み込み
ドライバーが機能するには、リソース ファイルを読み込む必要があります。 このファイルは、ドライバーのバージョンに応じて msodbcsqlr17.rll
またはmsodbcsqlr13.rll
という名前になります。 .rll
ファイルの場所は、前のテーブルに示されているとおり、ドライバー自体の場所 (so
またはdylib
)を基準にして相対的です。 バージョン 17.1 の時点で、相対パスからの読み込みが失敗した場合、ドライバーは既定のディレクトリからも .rll
の読み込みを試みます。 Linux での既定のリソース ファイル パスは /opt/microsoft/msodbcsql17/share/resources/en_US/
です。
トラブルシューティング
ドライバーのバージョンが以前にインストールされ、unixODBC に登録されている場合、Installation failed, ODBC Driver $1 for SQL Server detected!
のようなエラーでインストールが失敗する可能性があります。 この問題を解決するには、そのバージョンのドライバーの登録を解除します。 ドライバーは、odbcinst
コマンドを使って登録解除できます: odbcinst -u -d -n "ODBC Driver $1 for SQL Server
。 ($1
は、インストール エラーで報告されたドライバーのバージョンに置き換えます)。odbcinst
コマンドでのアンインストールが失敗する場合は、odbcinst.ini
ファイルからドライバー セクションを手動で削除できます。 odbcinst.ini
ファイルの場所は、odbcinst -j
コマンドを使って見つけることができます。
ODBC ドライバーを使用してSQL Serverに接続できない場合は、既知の問題に関する記事の「接続の問題のトラブルシューティング 」を参照してください。
関連するコンテンツ