2011年9月16日

apacheの再起動をわすれずに。。。。

ひょんな事から、XAMPP環境での PHPからMS SQLServerへの接続をすることに。

ちょうどPEARのDBが入っていたので、いつものようにして、dsnの一番左側のあれを mssql とすればつながるだろうと思ったけど。。。エラー
いろいろ調べて、恥ずかしい失敗をしたあげく、ようやく繋げることができたので備忘録

1.XAMPP環境で SQLServerとPHPをつなげるときには、ntwdblib.dll のバージョンアップが必要。(ちょっと古いXAMPPだったので、新しいやつだとOKかも?)
  これは、検索するといろいろ出てくるので、ダウンロードして上書きするだけ。

2.dsn の書き方で迷ったのがDBサーバ名

mssql://username:password@hostspec/database_name

とやるんだけど、 SQL Serverのサーバ名が ●●●\▲▲▲  ←といったかんじでサーバ名とインスタンス名がバックスラッシュで区切られていました。バックスラッシュをそのまま書いていいものかどうか?と悩みましたが、結局そのままOKだったようです。(実際にはWindows環境なので、円マークでしたが)

さて、気を付ける点は以上の2点なんですが、これらをやってもつながらない。
コードを見直したり、コントロールパネルから、ODBCの設定しなおしてみてもつながらない。。。

さんざん迷った挙句、ふと、上記1の dllを更新したあとに、apacheの再起動をしていないことに気づいて、、、、、、やったら問題なくできましたとさ。。。メデタシメデタシ

多分、サーバいじる人にとっては、何かをやったら再起動。。当たり前のことなのだけど
普段、レンタルサーバなど出来上がった環境での、Web周りのことをやっていると、こういう初歩的な事が、身についていなくて。。反省でした。