# Microsoft SQL Server PDO ドライバ (PDO_SQLSRV)

## はじめに

PDO_SQLSRV は、PHP Data Objects (PDO) インターフェイス を実装したドライバです。 PHP から、MS SQL Server (SQL Server 2005 以降) および SQL Azure データベースにアクセスできるようになります。

## インストール手順

最新版のドライバのダウンロードは » SQLSRV download のページでできます。 ドライバのソースコードは、 » 公開リポジトリ でホストされています。

システム要件に関する詳細は » SQLSRV System Requirements を参照ください。

Windows では、PDO_SQLSRV 拡張モジュールは適切な DLL ファイルをダウンロードして PHP の extension ディレクトリに置き、対応するエントリを php.ini に追記することで有効にできます。

Linux と macOS では、PDO_SQLSRV 拡張モジュールは » PECL を使うとインストールできます。 詳細は » installation tutorial を参照ください。

## 定義済み定数

このドライバでは以下の定数が定義されて います。これは拡張モジュールが PHP に組み込まれているか、実行時に動的にロード されている場合のみ使用可能です。さらに、これらのドライバ固有の定数は そのドライバを使用している場合にのみ使用されます。 あるドライバ固有の属性を別のドライバで使うと、予期せぬ結果を引き起こします。 もし複数のドライバを使用しているコードを実行している場合、 PDO::getAttribute() で `PDO::ATTR_DRIVER_NAME` 属性を使用することで、使用中のドライバ名を調べることが可能です。

`PDO::SQLSRV_TXN_READ_UNCOMMITTED` (int)
  この定数は、SQLSRV DSN のキー TransactionIsolation で使えます。 この接続のトランザクション隔離レベルを、Read Uncommitted に設定します。
`PDO::SQLSRV_TXN_READ_COMMITTED` (int)
  この定数は、SQLSRV DSN のキー TransactionIsolation で使えます。 この接続のトランザクション隔離レベルを、Read Committed に設定します。
`PDO::SQLSRV_TXN_REPEATABLE_READ` (int)
  この定数は、SQLSRV DSN のキー TransactionIsolation で使えます。 この接続のトランザクション隔離レベルを、Repeateable Read に設定します。
`PDO::SQLSRV_TXN_SNAPSHOT` (int)
  この定数は、SQLSRV DSN のキー TransactionIsolation で使えます。 この接続のトランザクション隔離レベルを、Snapshot に設定します。
`PDO::SQLSRV_TXN_SERIALIZABLE` (int)
  この定数は、SQLSRV DSN のキー TransactionIsolation で使えます。 この接続のトランザクション隔離レベルを、Serializable に設定します。
`PDO::SQLSRV_ENCODING_BINARY` (int)
  サーバーとの間のデータの送受信を生のバイトストリームで行い、 符号化や変換を一切しないように指示します。 この定数は、 PDOStatement::setAttribute、PDO::prepare、PDOStatement::bindColumn および PDOStatement::bindParam に渡せます。
`PDO::SQLSRV_ENCODING_SYSTEM` (int)
  サーバーとの間のデータの送受信を 8 ビット文字として行い、 システムに設定された Windows のロケールのコードページを利用します。 このコードページにマップできない文字はすべて、シングルバイトのクエスチョンマークに置き換えられます。 この定数は、PDOStatement::setAttribute、PDO::setAttribute、PDO::prepare、 PDOStatement::bindColumn および PDOStatement::bindParam に渡せます。
`PDO::SQLSRV_ENCODING_UTF8` (int)
  サーバーとの間のデータの送受信を UTF-8 エンコーディングで行います。 これが、デフォルトの符号化方式です。この定数は、 PDOStatement::setAttribute、PDO::setAttribute、PDO::prepare、 PDOStatement::bindColumn および PDOStatement::bindParam に渡せます。
`PDO::SQLSRV_ENCODING_DEFAULT` (int)
  サーバーとの間のデータの送受信を、接続時に指定した PDO::SQLSRV_ENCODING_SYSTEM に従って行います。プリペアドステートメントの中で指定された場合は、 その接続で設定されているエンコーディングを利用します。この定数は、 PDOStatement::setAttribute、PDO::setAttribute、PDO::prepare、 PDOStatement::bindColumn および PDOStatement::bindParam に渡せます。
`PDO::SQLSRV_ATTR_QUERY_TIMEOUT` (int)
  非負の整数で、タイムアウト秒数を指定します。ゼロがデフォルトで、これはタイムアウトしないことを意味します。 この定数は、PDOStatement::setAttribute、PDO::setAttribute および PDO::prepare に渡せます。
`PDO::SQLSRV_ATTR_DIRECT_QUERY` (int)
  クエリを直接実行し、準備しないことを指示します。 この定数は、PDO::setAttribute および PDO::prepare に渡せます。詳細な情報は » Direct and Prepared Statement Execution を参照ください。

## 目次

- PDO_SQLSRV DSN — MS SQL Server および SQL Azure データベースに接続する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open