<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/pdo.drivers.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ja',
  ),
  'this' => 
  array (
    0 => 'ref.pdo-sqlsrv.php',
    1 => 'MS SQL Server PDO ドライバ',
    2 => 'Microsoft SQL Server PDO ドライバ (PDO_SQLSRV)',
  ),
  'up' => 
  array (
    0 => 'pdo.drivers.php',
    1 => 'PDO ドライバ',
  ),
  'prev' => 
  array (
    0 => 'pdo-mysql.getwarningcount.php',
    1 => 'Pdo\\Mysql::getWarningCount',
  ),
  'next' => 
  array (
    0 => 'ref.pdo-sqlsrv.connection.php',
    1 => 'PDO_SQLSRV DSN',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ja',
    'path' => 'reference/pdo_sqlsrv/reference.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/ref.pdo-sqlsrv.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="ref.pdo-sqlsrv" class="reference">
  
  <h1 class="title">Microsoft SQL Server PDO ドライバ (PDO_SQLSRV)</h1>
  
  <div class="partintro">

   <div class="section" id="pdo-sqlsrv.intro">
   <h2 class="title">はじめに</h2>
    <p class="simpara">
     PDO_SQLSRV は、<a href="book.pdo.php#intro.pdo" class="link">PHP
     Data Objects (PDO) インターフェイス</a> を実装したドライバです。
     PHP から、MS SQL Server (SQL Server 2005 以降)
     および SQL Azure データベースにアクセスできるようになります。
    </p>
   </div>
   



<div class="section" id="ref.pdo-sqlsrv.installation">
 <h2 class="title">インストール手順</h2>
 <p class="simpara">
  最新版のドライバのダウンロードは
  <a href="http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx" class="link external">&raquo;&nbsp;SQLSRV download</a>
  のページでできます。
  ドライバのソースコードは、
  <a href="https://github.com/microsoft/msphpsql" class="link external">&raquo;&nbsp;公開リポジトリ</a> でホストされています。
 </p>
 <p class="simpara">
  システム要件に関する詳細は
  <a href="http://msdn.microsoft.com/en-us/library/cc296170.aspx" class="link external">&raquo;&nbsp;SQLSRV System Requirements</a>
  を参照ください。
 </p>
 <p class="simpara">
  Windows では、PDO_SQLSRV 拡張モジュールは適切な DLL ファイルをダウンロードして PHP の extension ディレクトリに置き、対応するエントリを <var class="filename">php.ini</var> に追記することで有効にできます。
 </p>
 <p class="simpara">
  Linux と macOS では、PDO_SQLSRV 拡張モジュールは
  <a href="https://pecl.php.net/" class="link external">&raquo;&nbsp;PECL</a> を使うとインストールできます。
  詳細は <a href="https://docs.microsoft.com/en-us/sql/connect/php/installation-tutorial-linux-mac" class="link external">&raquo;&nbsp;installation tutorial</a>
  を参照ください。
 </p>
</div>


   


<div class="section" id="pdo-sqlsrv.constants">
 <h2 class="title">定義済み定数</h2>
 <p class="simpara">このドライバでは以下の定数が定義されて
います。これは拡張モジュールが PHP に組み込まれているか、実行時に動的にロード
されている場合のみ使用可能です。さらに、これらのドライバ固有の定数は
そのドライバを使用している場合にのみ使用されます。
あるドライバ固有の属性を別のドライバで使うと、予期せぬ結果を引き起こします。
もし複数のドライバを使用しているコードを実行している場合、
<span class="function"><a href="pdo.getattribute.php" class="function">PDO::getAttribute()</a></span> で <strong><code><a href="pdo.constants.php#pdo.constants.attr-driver-name">PDO::ATTR_DRIVER_NAME</a></code></strong>
属性を使用することで、使用中のドライバ名を調べることが可能です。</p>
 <dl>
  
   <dt id="pdo.constants.sqlsrv-txn-read-uncommitted">
    <strong><code><a href="ref.pdo-sqlsrv.php#pdo.constants.sqlsrv-txn-read-uncommitted">PDO::SQLSRV_TXN_READ_UNCOMMITTED</a></code></strong>
     (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     この定数は、SQLSRV DSN のキー TransactionIsolation で使えます。
     この接続のトランザクション隔離レベルを、Read Uncommitted に設定します。
    </span>
   </dd>
  
  
   <dt id="pdo.constants.sqlsrv-txn-read-committed">
    <strong><code><a href="ref.pdo-sqlsrv.php#pdo.constants.sqlsrv-txn-read-committed">PDO::SQLSRV_TXN_READ_COMMITTED</a></code></strong>
     (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     この定数は、SQLSRV DSN のキー TransactionIsolation で使えます。
     この接続のトランザクション隔離レベルを、Read Committed に設定します。
    </span>
   </dd>
  
  
   <dt id="pdo.constants.sqlsrv-txn-repeatable-read">
    <strong><code><a href="ref.pdo-sqlsrv.php#pdo.constants.sqlsrv-txn-repeatable-read">PDO::SQLSRV_TXN_REPEATABLE_READ</a></code></strong>
     (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     この定数は、SQLSRV DSN のキー TransactionIsolation で使えます。
     この接続のトランザクション隔離レベルを、Repeateable Read に設定します。
    </span>
   </dd>
  
  
   <dt id="pdo.constants.sqlsrv-txn-snapshot">
    <strong><code><a href="ref.pdo-sqlsrv.php#pdo.constants.sqlsrv-txn-snapshot">PDO::SQLSRV_TXN_SNAPSHOT</a></code></strong>
     (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     この定数は、SQLSRV DSN のキー TransactionIsolation で使えます。
     この接続のトランザクション隔離レベルを、Snapshot に設定します。
    </span>
   </dd>
  
  
   <dt id="pdo.constants.sqlsrv-txn-serializable">
    <strong><code><a href="ref.pdo-sqlsrv.php#pdo.constants.sqlsrv-txn-serializable">PDO::SQLSRV_TXN_SERIALIZABLE</a></code></strong>
     (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     この定数は、SQLSRV DSN のキー TransactionIsolation で使えます。
     この接続のトランザクション隔離レベルを、Serializable に設定します。
    </span>
   </dd>
  
  
   <dt id="pdo.constants.sqlsrv-encoding-binary">
    <strong><code><a href="ref.pdo-sqlsrv.php#pdo.constants.sqlsrv-encoding-binary">PDO::SQLSRV_ENCODING_BINARY</a></code></strong>
     (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     サーバーとの間のデータの送受信を生のバイトストリームで行い、
     符号化や変換を一切しないように指示します。
     この定数は、
     PDOStatement::setAttribute、PDO::prepare、PDOStatement::bindColumn および
     PDOStatement::bindParam に渡せます。
    </span>
   </dd>
  
  
   <dt id="pdo.constants.sqlsrv-encoding-system">
    <strong><code><a href="ref.pdo-sqlsrv.php#pdo.constants.sqlsrv-encoding-system">PDO::SQLSRV_ENCODING_SYSTEM</a></code></strong>
     (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     サーバーとの間のデータの送受信を 8 ビット文字として行い、
     システムに設定された Windows のロケールのコードページを利用します。
     このコードページにマップできない文字はすべて、シングルバイトのクエスチョンマークに置き換えられます。
     この定数は、PDOStatement::setAttribute、PDO::setAttribute、PDO::prepare、
     PDOStatement::bindColumn および PDOStatement::bindParam に渡せます。
    </span>
   </dd>
  
  
   <dt id="pdo.constants.sqlsrv-encoding-utf8">
    <strong><code><a href="ref.pdo-sqlsrv.php#pdo.constants.sqlsrv-encoding-utf8">PDO::SQLSRV_ENCODING_UTF8</a></code></strong>
     (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     サーバーとの間のデータの送受信を UTF-8 エンコーディングで行います。
     これが、デフォルトの符号化方式です。この定数は、
     PDOStatement::setAttribute、PDO::setAttribute、PDO::prepare、
     PDOStatement::bindColumn および PDOStatement::bindParam に渡せます。
    </span>
   </dd>
  
  
   <dt id="pdo.constants.sqlsrv-encoding-default">
    <strong><code><a href="ref.pdo-sqlsrv.php#pdo.constants.sqlsrv-encoding-default">PDO::SQLSRV_ENCODING_DEFAULT</a></code></strong>
     (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     サーバーとの間のデータの送受信を、接続時に指定した
     PDO::SQLSRV_ENCODING_SYSTEM に従って行います。プリペアドステートメントの中で指定された場合は、
     その接続で設定されているエンコーディングを利用します。この定数は、
     PDOStatement::setAttribute、PDO::setAttribute、PDO::prepare、
     PDOStatement::bindColumn および PDOStatement::bindParam に渡せます。
    </span>
   </dd>
  
  
   <dt id="pdo.constants.sqlsrv-attr-query-timeout">
    <strong><code><a href="ref.pdo-sqlsrv.php#pdo.constants.sqlsrv-attr-query-timeout">PDO::SQLSRV_ATTR_QUERY_TIMEOUT</a></code></strong>
     (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     非負の整数で、タイムアウト秒数を指定します。ゼロがデフォルトで、これはタイムアウトしないことを意味します。
     この定数は、PDOStatement::setAttribute、PDO::setAttribute および PDO::prepare に渡せます。
    </span>
   </dd>
  
  
   <dt id="pdo.constants.sqlsrv-attr-direct-query">
    <strong><code><a href="ref.pdo-sqlsrv.php#pdo.constants.sqlsrv-attr-direct-query">PDO::SQLSRV_ATTR_DIRECT_QUERY</a></code></strong>
     (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     クエリを直接実行し、準備しないことを指示します。
     この定数は、PDO::setAttribute および PDO::prepare に渡せます。詳細な情報は
     <a href="http://msdn.microsoft.com/en-us/library/ff754356.aspx" class="link external">&raquo;&nbsp;Direct and Prepared Statement Execution</a>
     を参照ください。
    </span>
   </dd>
  
 </dl>
</div>



  </div>

  

 <h2>目次</h2><ul class="chunklist chunklist_reference"><li><a href="ref.pdo-sqlsrv.connection.php">PDO_SQLSRV DSN</a> — MS SQL Server および SQL Azure データベースに接続する</li></ul>
</div>
<?php manual_footer($setup); ?>