MS-SQLへの接続

mssql_connect関数にてエラーが発生していました。そこでCakePHPの問題と切り分けるために,単独でmssql_connect 関数による接続を実験してみました。するとサーバ名を変えても何をしてもエラーになって繋がりませんでした。これはCakePHPの問題ではないと思いま したので,いろいろとググった結果,ntwdblib.dllというDLLのバージョンが古い場合にうまく繋がらないとの記述を見つけました。この件につ いては,次のサイトが非常に詳しく解説してくださっています。

PHP5 with SQLServer2005Express

自分のPCの中のこのDLLを検索してみると,c:\xampp\phpやc:\xampp\apache\binにあるntwdblib.dll のバージョンは,2000.2.8.0で「古い」ものでした。最新版のxamppなのに・・・・。そこで,c:\windows\system32にある DLLのバージョンを調べてみると2000.80.194.0で,これはOKなんだそうです。(面白いことに古いバージョンのファイルの方がタイムスタン プが最近のものになっていました)

そこで古いやつ二つの上に新しいのをコピーしました。(本当は古いDLLを削除するだけでよかったみたいですが)

するとちゃんとMS-SQLに接続できるようになりました。CakePHPに戻ってdatabase.phpにMS-SQLの設定をして見てもちゃんと接続できることがわかりました。

その後,次の記事を見つけました。

cakephpとsql server 2005(日本語)

この記事によると,単に上記の対応をしただけではいけないようです。今後調査を進めます。

トラックバック


URL から "-MoIyadayo" を削除してトラックバックを送信してください。
トラックバックは承認後に表示されます。