2015年に関与した案件で、客先で稼働を続けるSQL Server 2000にPHPからアクセスできるのか?という話が挙がり、調べた情報が発掘されたのでメモしておきます(発掘日: 2021/10/21)。
必要なドライバー等
SQL Server 2000に最新のPHPから接続するには、汎用のODBCドライバを使う必要があるようです。
- How to connect to MSSQL 2000 from PHP 5.3 and up
- http://stackoverflow.com/questions/19783613/how-to-connect-to-mssql-2000-from-php-5-3-and-up
SQL Server 2000でなければ、マイクロソフト提供のSQL Server専用ドライバが使えます。こちらが使えれば開発作業もはかどるのですが、残念ながら使えません。
- PHPからSQL Serverへの正しい接続方法
- http://codezine.jp/article/detail/5736
ODBCドライバですが、
- SQL Server ODBC client version 6.00 that comes preinstalled with Windows 2008 R2
- SQL Server Native Client 9.0 (SQL Server 2005 feature pack)
- SQL Server Native Client 10.0 (SQL Server 2008 R2 feature pack)
のいずれかが必要で、我々の環境だとSQL Server 2008 R2フィーチャーパックに入っているものを使うのがよさそうです(SPなし)。これは下記のURLから落とせます。
客先環境等について
客先のWebサーバーがWindows Server 2008 R2であれば標準でドライバは入っているようなので、それを使うことになると思います。もしWindows Server 2003などである場合……Native Client 9.0か10.0だけをインストールして動くかどうか、別途検証が必要です。
現時点ではサーバーの物理構成が分からないので、制約事項として見積もりに添えておく必要がありそうです。
仮想環境で検証
詳細は下記にまとめています。
下記の環境でDB接続、データ取得できたのでお知らせしておきます。
- WebServer OS: Windows Server 2008 R2(64bit)
- WebServer …… IIS
- PHP: 5.6.11 64bit/Non Thread Safe版
※PHPを動かすためにVCランタイム(Visual Studio 2012版)を導入
- Database Server OS …… Windows XP(32bit)
- DB …… SQL Server 2000 Developer Edition
ODBCドライバは、Windows Server 2008 R2にODBC Client Ver.6.00がインストールされていますので、それを利用します。
PHPのダウンロードは下記サイトから。
windows.php.net