LinuxからSQL Server 2005にアクセスするための方法について説明します。

LinuxからSQL Serverにアクセスするには、ODBC接続を利用します。
ODBC接続を利用するには、以下のライブラリが必要になります。

 1.unixODBC
 2.FreeTDS

上記のライブラリをインストールし、適切な設定を行うことで、SQL Serverへのアクセスが可能になります。

以下、設定手順です。
1.ライブラリをダウンロードする。
 1)unixodbc
  a.上記のサイトにアクセスする。
  b.画面左側のメニューから[Download]をクリックする。
  c.画面右側にある[Download]をクリックする。
 2)FreeTDS
  a.上記のサイトにアクセスする。
  b.画面右側にある[Quick Links]から[Stable Release]をクリックする。
2.パッケージをインストールする。
 ※ダウンロードしたパッケージは、「/usr/local」に保存しているものとします。
 1)unixodbc
# cd /usr/local
# tar xvzf unixODBC-2.2.14.tar.gz
# cd unixODBC-2.2.14
# ./configure --enable-gui-no
# make
# make install

 2)FreeTDS
# cd /usr/local
# tar xvzf freetds-stable.tgz
# cd ../freetds-0.82
# export LD_LIBRARY_PATH=/usr/local/lib
# export LD_RUN_PATH=/usr/local/lib
# ./configure --with-unixodbc=/usr/local --with-msdblib -prefix=/usr/local/freetds
# make
# make install

3.設定ファイルを編集する
 1)「/usr/local/freetds/etc/freetds.conf」を開きます。
 2)以下の内容を入力し、保存します。
[mssql]
host = 192.168.1.1
instance = SQLEXPRESS
tds version = 8.0
charset = sjis
client charset = sjis

  各項目の説明です。
   ・host … SQL Serverをインストールした端末のIPアドレスを指定します。
   ・instance … 名前付きインスタンスを利用する場合に指定します。
   ・tds version … 使用するFreeTDSのバージョンを指定します。
   ・charsetとclient charsetは、利用する文字セットです。
    この項目は、省略可能です。
4.SQL Serverへの接続を確認する
 コンソールを起動して、以下のコマンドを入力します。
# /usr/local/freetds/bin/tsql -S mssql -U [ユーザ名] -P [パスワード]

 実行した結果、以下のように表示されれば無事、接続できたことを意味します。
# >1

 ※数字が2,3,4...と増えていく場合には、接続エラーになります。
  この場合、適切な設定がされていないことを意味します。
  設定内容が正しい場合、通信に利用するポートが解放されているかどうかを確認しましょう。


【補足事項】
・ファイアウォール等を導入している場合、接続に使用するポートを開放する必要があります。
・SQL Serverは、動的ポートと固定ポートのどちらを利用するかを決めることができます。
 設定方法は、以下の通りです。
  1.SQL Server 2005 構成マネージャを起動する。
   1)[スタート]-[プログラム]-[Microsoft SQL Server 2005]-[構成ツール]-[SQL Server構成マネージャ]を起動する。
  2.画面左側のツリーから[SQL Server 2005 ネットワークの構成]-[インスタンス名のプロトコル]を選択する。
  3.画面右側の一覧から[TCP/IP]を選択する。(ダブルクリックする)
  4.[IPアドレス]タブを選択する。
  5.[TCP動的ポート]を全て空白にする。
   →「0」が入力されていると、動的ポートを使用します。
  6.TCPポートに「1433」を入力します。