RedHat EL / CentOS / Ubuntu / Mac から Microsoft SQL Server データベースに接続する方法

RedHat EL / CentOS / Ubuntu / Mac から Microsoft SQL Server データベースに接続する方法

Microsoft SQL Server データベースに Linux OS や Mac から接続してデータベース操作を行う方法を解説します。基本的に Microsoft 社製のデータベースですので Windows から接続するのが親和性が高いですが、Linux や Mac からでも接続することが可能です。以下にどのようにして接続するのか解説します。

まず必要なこととして、Microsoft SQL Server データベースに接続するためのツールをインストールします。ツールは Microsoft 本家からリリースされているものですので安全に利用できます。それでは全ての OS におけるインストール方法は説明せず、最も多く企業に利用されているであろう RedHat Enterprise Linux (以降 RHEL7) 及び CentOS 6/7 でのインストール例を見ていきます。

各 OS 毎のツールのインストール方法

RHEL7 に SQL Server データベース接続ツールをインストールする

sudo su -

# 過去に古いバージョンをインストールしていた場合には、事前にパッケージを削除します。
yum remove mssql-tools unixODBC-utf16-devel

# Microsoft リポジトリの設定ファイルをダウンロードして設定します。
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo

# "mssql-tools" というパッケージと unixODBC-devel パッケージをインストールします。
yum install mssql-tools unixODBC-devel

# ツールのコマンドへの PATH を設定します。
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

CentOS7 に SQL Server データベース接続ツールをインストールする

sudo su -

# 過去に古いバージョンをインストールしていた場合には、事前にパッケージを削除します。
yum remove mssql-tools unixODBC-utf16-devel

# Microsoft リポジトリの設定ファイルをダウンロードして設定します。
curl https://packages.microsoft.com/config/centos/7/prod.repo > /etc/yum.repos.d/msprod.repo

# "mssql-tools" というパッケージと unixODBC-devel パッケージをインストールします。
yum install mssql-tools unixODBC-devel

# ツールのコマンドへの PATH を設定します。
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

CentOS6 に SQL Server データベース接続ツールをインストールする

sudo su -

# 過去に古いバージョンをインストールしていた場合には、事前にパッケージを削除します。
yum remove mssql-tools unixODBC-utf16-devel

# Microsoft リポジトリの設定ファイルをダウンロードして設定します。
curl https://packages.microsoft.com/config/centos/6/prod.repo > /etc/yum.repos.d/msprod.repo

# "mssql-tools" というパッケージと unixODBC-devel パッケージをインストールします。
yum install mssql-tools unixODBC-devel

# ツールのコマンドへの PATH を設定します。
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

"mssql-tools" ツールの解説

"mssql-tools" をインストールすると、sqlcmd と bcp というツールがインストールされます。sqlcmd はデータベースに接続するためのコマンドラインツールです。Oracle で言えば SQL*Plus、PostgreSQL であれば psql コマンドに相当します。bcp というツールはデータのインポート・エクスポートを行うためのツールです。

sqlcmd ツールで Microsoft SQL Server データベースに接続するには次のようなコマンドを実行します。
/opt/mssql-tools/bin/sqlcmd -S 192.168.1.1,1433 -d testdb -U sa -P PassWord

※ "-S" で接続したい Microsoft SQL Server データベースの "IPアドレス:ポート番号" を指定します。"-d" で接続先のデータベース名を指定します。"-U" はデータベースのユーザー名、"-P" はデータベースユーザーのパスワードを指定します。

このコマンドを実行すると次のようになります。"1>" に後に続けて SQL を打って実行することが可能です。

[root@pikachu ~]# /opt/mssql-tools/bin/sqlcmd -S 192.168.1.1,1433 -d testdb -U sa -P PassWord
1>