Forum und email

Microsoft SQL Server 関数

導入

以下の関数により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 のホームページ » https://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 の設定により動作が変化します。

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 以降で使用可能です。
PHP_INI_* 定数の詳細および定義については php.ini ディレクティブ を参照してください。

リソース型

定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

MSSQL_ASSOC (integer)
MSSQL_NUM (integer)
MSSQL_BOTH (integer)
SQLTEXT (integer)
SQLVARCHAR (integer)
SQLCHAR (integer)
SQLINT1 (integer)
SQLINT2 (integer)
SQLINT4 (integer)
SQLBIT (integer)
SQLFLT8 (integer)

目次