XC. 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 のホームページ 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 以降で使用可能です。 |
- 目次
- mssql_bind -- ストアドプロシージャまたはリモートストアドプロシージャへ パラメータを追加する
- mssql_close -- MS SQL Server への接続を閉じる
- mssql_connect -- MS SQL サーバ接続をオープンする
- mssql_data_seek -- 内部行ポインタを移動する
- mssql_execute -- MS SQL サーバデータベースでストアドプロシージャを実行する
- mssql_fetch_array -- 連想配列・数値添字配列・あるいはその両方で結果の行を取得する
- mssql_fetch_assoc -- result_id で指定した結果集合でカレントの行を連想配列として返す
- mssql_fetch_batch -- レコードの次のバッチを返す
- mssql_fetch_field -- フィールド情報を取得する
- mssql_fetch_object -- オブジェクトとして行を取得する
- mssql_fetch_row -- 配列として行を取得する
- mssql_field_length -- フィールド長を得る
- mssql_field_name -- フィールド名を得る
- mssql_field_seek -- 指定したフィールドオフセットに移動する
- mssql_field_type -- フィールド型を得る
- mssql_free_result -- 結果保持用メモリを解放する
- mssql_free_statement -- ステートメントのメモリを開放する
- mssql_get_last_message -- サーバーの直近のメッセージを返す (min_message_severityに依存する?)
- mssql_guid_string -- 16 バイトバイナリ GUID を文字列に変換する
- mssql_init -- ストアドプロシージャまたはリモートのストアドプロシージャを 初期化する
- mssql_min_error_severity -- エラー判定基準を小さく設定する
- mssql_min_message_severity -- メッセージ判定基準を小さく設定する
- mssql_next_result -- 次の結果に内部結果ポインタを移動する
- mssql_num_fields -- 結果のフィールド数を得る
- mssql_num_rows -- 結果の行数を得る
- mssql_pconnect -- 持続的 MS SQL 接続をオープンする
- mssql_query -- MS SQL クエリを送る
- mssql_result -- 結果データを得る
- mssql_rows_affected -- クエリにより取得したレコード数を返す
- mssql_select_db -- MS SQL データベースを選択する