FreeTDS

RH9 と CentOS の2つのサーバを管理しているのですが、CentOS の方に FreeTDS を入れる必要があったのでメモ。

RH9 の方は過去に FreeTDS をインストール済みで、PHP からは sybase_ 関数でアクセス可能です。

CentOS では PHP のバージョンが 4.3.x なので mssql_ 関数が使えるようになってました。(RH9 は 4.2.x なので mssql_ 関数は使えません)

ここから RPM を落としてインストール。ただし freetds の 0.63 だと php-mssql のインストール時に libsybdb.so.4 がないと言われるので 0.62 を使用。(2008/5/13 yum install freetds でいけますね)

あとは /etc/freetds.conf を書き換えれば OK。

# 名称は任意
[接続先名称]
host = IPアドレス
port = 1433 # 標準のポート番号(インスタンスを使用してたらそのポート番号に)
tds version = 8.0 # SQL Server 2000 の場合
client charset = UTF-8 # エンコーディング

ちなみにインスタンスを使用している場合のポート番号の調べ方は、レジストリの以下の項目を参照。

HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\インスタンス名\MSSQLServer\SuperSocketNetLib\Tcp\TcpPort

そしてコマンドラインからは tsql というツールが使えます。パラメータは osql と一緒ですね。

# tsql -S 「freetds.conf で指定した接続先名称」 -U ユーザ名 -P パスワード

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください