[PHP-users 31812] Re: OSを変更するとSQL Serverと接続できず

kanonbell kanonbell.sky @ gmail.com
2007年 4月 2日 (月) 23:42:14 JST


こんばんは。

解決済みとのことなので不要な気もしますが、一応ご報告まで。

Win2003R2+Apache2.2.3+PHP5.2.0+MSSQL2003の環境で2台構成で
テストし、問題なく接続できました。
1台構成の環境が2個あったので、接続先を変更してみただけですが。
使用したntwdblib.dllのバージョンは2000.80.194.0です。
Win版PHPに標準でついてくるのは2000.20とかだったと思いますが、これだと
1台構成かどうかに関わらず繋がりませんでした。

また、過去にWinXPでやってたときも、標準添付のDLLでは繋がらなかった
記憶があります。
OSがどうとかじゃなくて、MSSQL2005に接続するクライアントユーティリティ
が古いバージョンだとダメってことなんじゃないでしょうか。
MSはこのDLLを使った古い接続方式を今後サポートしなくなることを予告
しているようですので、ODBCなどへの変更を考えておくと良いかもです。

個人的には
>解凍してc:\windows\system32 と c:\php の両方にコピーしました。
というのはやめた方が良いと思います。
どちらか一方のみにし、きちんと手順として決めておいたほうが良いのでは。
じゃないとc:\phpに古いDLL、%systemroot%\system32に新しいDLLが
入っているという間違いが起こりやすいです。
この場合はsystem32に入っている方がおそらく使われますが、古いDLLで
ちゃんと動くと勘違いしかねません。
書いてて自分に言ってるみたいな気もしてきますけれども。
※ちなみにc:\phpで動かすにはパスを通す必要があったと思います。

ちなみにnote以外の英語の情報としては
http://www.apachelounge.com/
このあたりも参考になるかもしれません。


PHP-users メーリングリストの案内