2007-06-12 (火) [長年日記]
■ [Debian] SQLServer2000への接続
インストール
apt-get install freetds-dev sqsh
設定
vi /etc/freetds/freetds.conf
[MyServer2k] のところを編集。
SQLServerの設定
セキュリティ>ログインから新規ログインを追加。適当な権限を与える。
エンタープライズマネージャでサーバのプロパティを参照後、セキュリティタブの認証を「混合モード」に変更。
接続確認
sqsh -S MyServer2k -U foo -P bar -D db
追記:
VMWare内のDebianからホストWindows機に接続する場合、 freetds.confのhostの設定はゲートウェイ 192.168.xx.1 でいいみたい。
追記2:日付(datetime)のフォーマットがISO形式じゃなくてウキーってなるよ!
freetds.confと同じ場所にlocales.confを用意して、
[default] date format = %Y-%m-%d %H:%M:%S.%z
と書いてWebサーバを再起動する。
追記3:Debian以外にsqshをインストールする
FreeTDSをインストールしたら/usr/local/lib以下にlibctが入るので、
$export SYBASE=/usr/local $export LD_LIBRARY_PATH=$SYBASE/lib $./configure && make && make install
とやる。
追記4:ShiftJISでやりとりしたいときは
freetds.confに
client charset = sjis
追加。
追記5:ShiftJISでやりとりできたと思ったら特定の文字(〜とか)が文字化けるよ!
ShiftJISとかEUC-JPとかでやり取りするのは(普通では)無理なので、 UTF-8を使ってやり取りする。
で、以下の設定に変更。
charset = sjis client charset = UTF-8
DB側にはShifJISで保存される。ので、拡張Winもイケる。っぽい。たぶん。
追記6:もしかすると
charset = cp932
がいいのかも。
src/tds/encodings.h参照。
追記7:PHPで接続したい場合
apt-get install php5-sybase
しないと、mssql関数が使えないので注意。
[ツッコミを入れる]
