Microsoft SQL Server および Sybase 関数 (PDO_DBLIB)
導入
警告 |
この拡張モジュールは、
実験的 なものです。この拡張モジュールの動作・
関数名・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP
のリリースにおいて変更される可能性があります。
このモジュールは自己責任で使用してください。 |
PDO_DBLIB は PHP Data Objects (PDO) インターフェイスを実装したドライバで、 PHP から Microsoft SQL Server および Sybase データベースに対して FreeTDS ライブラリを使用したアクセスが可能となります。
Windows では、Microsoft SQL Server や Sybase データベースにアクセスする際には PDO_ODBC ドライバを使用すべきです。 Windows 版のネイティブの DB-LIB は時代遅れになっており、 スレッドセーフではない上に Microsoft にもサポートされていません。
目次
- PDO_DBLIB DSN — Microsoft SQL Server および Sybase データベースに接続する
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 の設定により動作が変化します。表 164. 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_* 定数の詳細および定義については 付録 G. 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)
目次
- 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 データベースを選択する
「MS SQL Server」の例文・使い方・用例・文例
- TSO(前HMSO)は、現在は私企業であり、ウィリアムリーグループに属している。
- 「MS. とは何を表わすのですか」「Manuscript(原稿)を表わします」.
- 食品製造業者は単に成分リストの'人工調味料'として時々MSGを記載する
- MSXパソコンという,テレビゲーム用のコンピューター
- CMSセンターという,短期資金の効率的運用のための機関
- 海洋研究開発機構(JAMSTEC)や東京工業大学などの団体からなる研究チームが三陸の東方800キロで3つの海底火山を調査した。
- 海洋研究開発機構(JAMSTEC)やいくつかの大学の研究者の共同チームは,地球上の全海洋生物種の約7分の1が日本にいることを発見した。
- JAMSTECの藤(ふじ)倉(くら)克(かつ)則(のり)博士は「日本に多様な海洋生物が存在するのは,日本近海にはさまざまな潮流や水温があり,干潟などの地形にも恵まれているからだろう。」と話した。
- 16日間のミッションにおけるエンデバーのおもな任務の1つはアルファ磁気スペクトロメータ2(AMS-02)を国際宇宙ステーション(ISS)に運ぶことだ。
- AMS-02は,宇宙線を計測することにより反物質や暗黒物質を探索することを目的としている。
- 海洋研究開発機構(JAMSTEC)はこの計画に深海掘削船「ちきゅう」を使用している。
- 海洋研究開発機構(JAMSTEC)は,有人潜水調査船「しんかい2000」を神奈川県藤(ふじ)沢(さわ)市(し)にある新江(え)ノ(の)島(しま)水族館に貸し出すことを決めた。
- 国境なき医師団(MSF)インターナショナルのジョアンヌ・リュー会長は西アフリカで10日間の視察を行った。
- そのSQLファイルを送ってもらうようにあなたに頼むのを忘れました。
- それは最新のSQLです。
- mssql serverのページへのリンク