MS-SQLへの接続

user-pic
0

CakePHPのしくみ などにおいて,

業務で使っているRDBMSがMSSQLなのでそれに接続するテストをやってみようと思いました。CakePHP データベースにMSSQLを使うには というページを発見。このリンクには非常に簡単に繋がるという風に書いてあるのですが,僕の環境ではうまくつながりません。今後の研究課題です。

と書きましたが,この件について再度挑戦してみました。

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の設定をして見てもちゃんと接続できることがわかりました。

トラックバック(0)

トラックバックURL: http://php.sunvisor.net/mt/mt-tb.cgi/57

コメントする

このブログで公開した情報は,のちほど Sunvisor Lab. CakePHP のコンテンツにまとめていますので,そちらも参照してみてください。

オススメの本

CakePHP初の公認ガイドブック。まずこれを読む。

CakePHPでの開発の際には常に机上に準備するべし。

CakePHP 1.2を使い始めるならこの本が必携。

CakePHP 1.2での実践が理解できる。

このブログ記事について

このページは、Sunvisorが2007年11月19日 13:32に書いたブログ記事です。

ひとつ前のブログ記事は「送信元のviewを特定する方法」です。

次のブログ記事は「続・CakePHPと文字化け」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。