Microsoft ODBC Driver for SQL Server をインストールする (Linux)

この記事では、Microsoft ODBC Driver for SQL Server を Linux にインストール方法について説明します。 また、SQL Server 用のオプションのコマンドライン ツール (bcp および sqlcmd) と、unixODBC 開発ヘッダーについても説明します。

この記事では、Bash シェルから ODBC ドライバーをインストールするためのコマンドについて説明します。 パッケージを直接ダウンロードする場合は、「ODBC Driver for SQL 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 です。

#Download the desired package(s)
curl -O https://download.microsoft.com/download/8/6/8/868e5fc4-7bfe-494d-8f9d-115cbcdb52ae/msodbcsql18_18.1.2.1-1_amd64.apk
curl -O https://download.microsoft.com/download/8/6/8/868e5fc4-7bfe-494d-8f9d-115cbcdb52ae/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/8/6/8/868e5fc4-7bfe-494d-8f9d-115cbcdb52ae/msodbcsql18_18.1.2.1-1_amd64.sig
curl -O https://download.microsoft.com/download/8/6/8/868e5fc4-7bfe-494d-8f9d-115cbcdb52ae/mssql-tools18_18.1.1.1-1_amd64.sig

curl https://packages.microsoft.com/keys/microsoft.asc  | gpg --import -
gpg --verify msodbcsql18_18.1.2.1-1_amd64.sig msodbcsql18_18.1.2.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.2.1-1_amd64.apk
sudo apk add --allow-untrusted mssql-tools18_18.1.1.1-1_amd64.apk

注意

Alpine のサポートには、ドライバー バージョン 17.5 以降が必要です。

以前のバージョン

以下のセクションでは、以前のバージョンの 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.2.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.2.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.2.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.2.1-1_amd64.apk
sudo apk add --allow-untrusted mssql-tools_17.10.1.1-1_amd64.apk

注意

Alpine のサポートには、ドライバー バージョン 17.5 以降が必要です。

ODBC 13.1

以下のセクションでは、さまざまな Linux ディストリビューション用の Bash シェルから Microsoft ODBC Driver 13.1 をインストールする方法について説明します。

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

ODBC 13

以下のセクションでは、さまざまな Linux ディストリビューション用の Bash シェルから Microsoft ODBC Driver 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

オフライン インストール

インターネットに接続されていないコンピューター上に 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 HatUbuntu、および SUSE に関するドキュメントを参照してください。

また、すべての従属パッケージを手動でダウンロードし、インストール コンピューターにまとめて配置してから、各パッケージを順に手動でインストールし、Microsoft ODBC Driver 13 パッケージを終了する方法も一般的です。

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

次のセクションでは、Microsoft ODBC Driver 11 を Linux にインストールする方法について説明します。 ドライバーを使用する前に、unixODBC ドライバー マネージャーをインストールしておく必要があります。 詳細については、「ドライバー マネージャーのインストール」を参照してください。

インストール手順

重要

次の手順では、Red Hat Linux 用のインストール ファイル msodbcsql-11.0.2270.0.tar.gz を参照しています。 Preview for SUSE Linux をインストールする場合のファイル名は msodbcsql-11.0.2260.0.tar.gz です。

ドライバーをインストールするには:

  1. ルートのアクセス許可があることを確認します。

  2. ダウンロードでファイル msodbcsql-11.0.2270.0.tar.gz を配置したディレクトリに切り替えます。 使用している Linux のバージョンに対応する *.tar.gz ファイルがあることを確認します。 ファイルを解凍するには、コマンド tar xvzf msodbcsql-11.0.2270.0.tar.gz を実行します。

  3. msodbcsql-11.0.2270.0 のディレクトリに移動すると、ディレクトリ内に install.sh というファイルがあることを確認できます。

  4. 使用可能なインストール オプションの一覧を表示するには、コマンド ./install.shを実行します。

  5. odbcinst.iniのバックアップを作成します。 ドライバーのインストールで、 odbcinst.iniを更新します。 odbcinst.ini には、unixODBC ドライバー マネージャーで登録されたドライバーの一覧が含まれます。 コンピューターの odbcinst.ini の場所を検出するには、コマンド odbc_config --odbcinstini を実行します。

  6. ドライバーをインストールする前に、コマンド ./install.sh verify を実行します。 Linux で ODBC ドライバーをサポートするためにコンピューターに必要なソフトウェアがある場合、./install.sh verify の出力でレポートされます。

  7. Linux に ODBC ドライバーをインストールする準備が整ったら、コマンド ./install.sh install を実行します。 インストール コマンド (bin-dir または lib-dir) を指定する必要がある場合は、install オプションの後にコマンドを指定してください。

  8. 使用許諾契約を確認し、 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 をアンインストールするには、次のコマンドを実行します。

  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"

ドライバー ファイル

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/ です。

トラブルシューティング

ODBC ドライバーを使用して SQL Server に接続できない場合は、既知の問題に関する記事の「接続の問題のトラブルシューティング」を参照してください。

次のステップ

ドライバーをインストールした後は、C++ の ODBC サンプル アプリケーションを試すことができます。 ODBC アプリケーションの開発に関する詳細については、「アプリケーションの開発」を参照してください。

詳細については、ODBC ドライバーのリリース ノートシステム要件に関するページを参照してください。