以下の関数によりMS SQL Server データベースにアクセス可能となります。
Win32 プラットフォームでの要件
この拡張モジュールは、PHP がインストールされているシステムに MS SQL クライアントツールのインストールを要します。クライアントツールは、 MS SQL Server CD か、またはサーバの \winnt\system32 から ntwdblib.dll を PHP システムの \winnt\system32 にコピーすることによりインストール可能です。 ntwdblib.dll のコピーではアクセスのみが可能で、 クライアントの設定には全てのツールのインストールが必要です。
Unix/Linux プラットフォームでの要件
MSSQL 拡張モジュールを Unix/Linux で使用するには、まず最初に FreeTDS ライブラリをビルドしてインストールする必要があります。ソースコードや インストール手順は FreeTDS のホームページ http://www.freetds.org/ にあります。
注意: Windows では、Microsoft の DBLIB が使用されます。カラム名を返す関数は、 DBLIB の dbcolname() 関数を使用しています。 DBLIB は SQL Server 6.x 用に開発されており、識別子の最大長は 30 です。 そのため、カラム名は最大 30 文字までとなります。FreeTDS を使用する プラットフォーム(Linux)ではこの問題は発生しません。
MSSQL 拡張モジュールは、extension=php_mssql.dll を php.ini に追加する ことにより、利用可能となります。
これらの関数を使用するには、 --with-mssql[=DIR] を指定して PHP を コンパイルする必要があります。DIR は FreeTDS のインストール先です。 また、FreeTDS は --enable-msdblib を指定してコンパイルする必要があります。
php.ini の設定により動作が変化します。
表 1. MS SQL Server 設定オプション
名前 | デフォルト | 変更の可否 | 変更履歴 |
---|---|---|---|
mssql.allow_persistent | "1" | PHP_INI_SYSTEM | |
mssql.max_persistent | "-1" | PHP_INI_SYSTEM | |
mssql.max_links | "-1" | PHP_INI_SYSTEM | |
mssql.min_error_severity | "10" | PHP_INI_ALL | |
mssql.min_message_severity | "10" | PHP_INI_ALL | |
mssql.compatability_mode | "0" | PHP_INI_ALL | |
mssql.connect_timeout | "5" | PHP_INI_ALL | |
mssql.timeout | "60" | PHP_INI_ALL | PHP 4.1.0 以降で使用可能です。 |
mssql.textsize | "-1" | PHP_INI_ALL | |
mssql.textlimit | "-1" | PHP_INI_ALL | |
mssql.batchsize | "0" | PHP_INI_ALL | PHP 4.0.4 以降で使用可能です。 |
mssql.datetimeconvert | "1" | PHP_INI_ALL | PHP 4.2.0 以降で使用可能です。 |
mssql.secure_connection | "0" | PHP_INI_SYSTEM | PHP 4.3.0 以降で使用可能です。 |
mssql.max_procs | "-1" | PHP_INI_ALL | PHP 4.3.0 以降で使用可能です。 |