<?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 => 'fr',
  ),
  'this' => 
  array (
    0 => 'ref.pdo-odbc.php',
    1 => 'Pilotes PDO ODBC et DB2',
    2 => 'Fonctions du pilote PDO ODBC et DB2 (PDO_ODBC)',
  ),
  'up' => 
  array (
    0 => 'pdo.drivers.php',
    1 => 'Pilotes PDO',
  ),
  'prev' => 
  array (
    0 => 'ref.pdo-oci.connection.php',
    1 => 'PDO_OCI DSN',
  ),
  'next' => 
  array (
    0 => 'ref.pdo-odbc.connection.php',
    1 => 'PDO_ODBC DSN',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/pdo_odbc/reference.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/ref.pdo-odbc.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-odbc" class="reference">
  
  <h1 class="title">Fonctions du pilote PDO ODBC et DB2 (PDO_ODBC)</h1>
  
  <div class="partintro">

   <div class="section" id="ref.pdo-odbc.intro">
   <h2 class="title">Introduction</h2>
    <p class="para">
     PDO_ODBC est un pilote qui implémente l&#039;<a href="book.pdo.php#intro.pdo" class="link">interface de PHP Data Objects (PDO)</a> pour
     autoriser l&#039;accès de PHP aux bases de données par les pilotes d&#039;ODBC
     ou par la bibliothèque d&#039;interface IBM DB2 Call Level (DB2 CLI). PDO_ODBC
     supporte actuellement trois &quot;saveurs&quot; différentes des pilotes de bases de
     données :
     <dl>
      
       <dt>ibm-db2</dt>
       <dd>
        <p class="para">
         Supporte l&#039;accès à <code class="literal">IBM DB2 Universal Database</code>, 
         Cloudscape et Apache Derby Server à l&#039;aide du client gratuit DB2 express-C.
        </p>
       </dd>
      
      
       <dt>unixODBC</dt>
       <dd>
        <p class="para">
         Supporte l&#039;accès aux serveurs de base de données à l&#039;aide du pilote
         de gestion unixODBC et les bases de données possédées par les pilotes
         ODBC.
        </p>
       </dd>
      
      
       <dt>generic</dt>
       <dd>
        <p class="para">
         Offre une option de compilation pour les pilotes de gestion ODBC qui
         ne sont pas explicitement supportés par PDO_ODBC.
        </p>
       </dd>
      
     </dl>
    </p>
    <p class="para">
     Sur Windows, <var class="filename">php_pdo_odbc.dll</var> doit être activé en tant qu&#039;extension dans <var class="filename">php.ini</var>. Il
     est lié avec le Windows ODBC Driver Manager, c&#039;est pourquoi PHP peut se
     connecter à n&#039;importe quelle base de données cataloguée comme étant un
     System DSN.
    </p>
   </div>

   
   




<div class="section" id="ref.pdo-odbc.installation">
 <h2 class="title">Installation</h2>
 <div class="procedure">
  <strong class="title">PDO_ODBC sur les systèmes UNIX</strong>
  <ol type="1"><li>
   <p class="para">
    PDO_ODBC est inclus dans les sources de PHP. Il est possible de
     compiler l&#039;extension PDO_ODBC soit en statique ou en module partagé
    en utilisant les commandes <strong class="command">configure</strong> suivantes.
    <dl>
     
      <dt>ibm_db2</dt>
      <dd>
       <p class="para">
        <div class="example-contents screen">
<div class="cdata"><pre>
./configure --with-pdo-odbc=ibm-db2,/opt/IBM/db2/V8.1/
</pre></div>
        </div>
        Pour construire PDO_ODBC avec la saveur ibm-db2, il faut avoir
        précédemment installé les en-têtes de développement de l&#039;application de
        DB2 sur la même machine sur laquelle l&#039;on compile PDO_ODBC. Les
        en-têtes de développement de l&#039;application DB2 sont une option
        d&#039;installation dans les serveurs DB2 et sont aussi disponibles
        en tant que <code class="literal">DB2 Application Development Client</code> gratuitement
        disponibles pour téléchargement à partir du 
        <a href="https://www.ibm.com/developerworks/downloads/im/db2express/index.html" class="link external">&raquo;&nbsp;site</a>.
        <code class="literal">IBM developerWorks</code>.
       </p>
       <p class="para">
        Si on ne spécifie pas d&#039;emplacement pour les bibliothèques et les
        en-têtes de DB2 à la commande <strong class="command">configure</strong>, PDO_ODBC
        prendra par défaut
        <var class="filename">/home/db2inst1/sqllib</var>.
       </p>
      </dd>
     
     
      <dt>unixODBC</dt>
      <dd>
       <p class="para">
        <div class="example-contents screen">
<div class="cdata"><pre>
./configure --with-pdo-odbc=unixODBC,/usr/local
</pre></div>
        </div>
        Si on ne spécifie pas d&#039;emplacement pour les bibliothèques et les
        en-têtes d&#039;unixODBC à la commande <strong class="command">configure</strong>, PDO_ODBC
        prendra par défaut
        <var class="filename">/usr/local</var>.
       </p>
      </dd>
     
     
      <dt>generic</dt>
      <dd>
       <div class="example-contents screen">
<div class="cdata"><pre>
./configure --with-pdo-odbc=generic,/usr/local,libname,ldflags,cflags
</pre></div>
       </div>
      </dd>
     
    </dl>
   </p>
  </li>
 </ol></div>
</div>



   
   


<div class="section" id="pdo-odbc.global.constants">
 <h2 class="title">Constantes pré-définies</h2>
 <p class="simpara">Les constantes ci-dessous sont
définies par ce pilote et seront seulement disponibles lorsque l&#039;extension
aura été compilée dans PHP ou chargée dynamiquement du moteur d&#039;exécution.
De plus, ces constantes spécifiques au pilote devraient être utilisées seulement
si vous utilisez ce pilote. En utilisant les attributs spécifiques à un pilote
avec un autre pilote pourrait causer un comportement inattendu.
<span class="function"><a href="pdo.getattribute.php" class="function">PDO::getAttribute()</a></span> pourrait être utilisé pour obtenir
l&#039;attribut <strong><code><a href="pdo.constants.php#pdo.constants.attr-driver-name">PDO::ATTR_DRIVER_NAME</a></code></strong> pour vérifier le
pilote, si votre code peut fonctionner sur des pilotes multiples.</p>
 <dl>
  
   <dt id="constant.pdo-odbc-type">
    <strong><code><a href="ref.pdo-odbc.php#constant.pdo-odbc-type">PDO_ODBC_TYPE</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <p class="para">

    </p>
   </dd>
  
  
   <dt id="pdo.constants.odbc-attr-use-cursor-library">
    <strong><code><a href="ref.pdo-odbc.php#pdo.constants.odbc-attr-use-cursor-library">PDO::ODBC_ATTR_USE_CURSOR_LIBRARY</a></code></strong>
     (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Alias de <strong><code><a href="class.pdo-odbc.php#pdo-odbc.constants.attr-use-cursor-library">Pdo\Odbc::ATTR_USE_CURSOR_LIBRARY</a></code></strong>.
    </span>
   </dd>
  
  
   <dt id="pdo.constants.odbc-sql-use-if-needed">
    <strong><code><a href="ref.pdo-odbc.php#pdo.constants.odbc-sql-use-if-needed">PDO::ODBC_SQL_USE_IF_NEEDED</a></code></strong>
    (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Alias de <strong><code><a href="class.pdo-odbc.php#pdo-odbc.constants.sql-use-if-needed">Pdo\Odbc::SQL_USE_IF_NEEDED</a></code></strong>.
    </span>
   </dd>
  
  
   <dt id="pdo.constants.odbc-sql-use-driver">
    <strong><code><a href="ref.pdo-odbc.php#pdo.constants.odbc-sql-use-driver">PDO::ODBC_SQL_USE_DRIVER</a></code></strong>
    (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Alias de <strong><code><a href="class.pdo-odbc.php#pdo-odbc.constants.sql-use-driver">Pdo\Odbc::SQL_USE_DRIVER</a></code></strong>.
    </span>
   </dd>
  
  
   <dt id="pdo.constants.odbc-sql-use-odbc">
    <strong><code><a href="ref.pdo-odbc.php#pdo.constants.odbc-sql-use-odbc">PDO::ODBC_SQL_USE_ODBC</a></code></strong>
    (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Alias de <strong><code><a href="class.pdo-odbc.php#pdo-odbc.constants.sql-use-odbc">Pdo\Odbc::SQL_USE_ODBC</a></code></strong>.
    </span>
   </dd>
  
  
   <dt id="pdo.constants.odbc-attr-assume-utf8">
    <strong><code><a href="ref.pdo-odbc.php#pdo.constants.odbc-attr-assume-utf8">PDO::ODBC_ATTR_ASSUME_UTF8</a></code></strong>
     (<span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Alias de <strong><code><a href="class.pdo-odbc.php#pdo-odbc.constants.attr-assume-utf8">Pdo\Odbc::ATTR_ASSUME_UTF8</a></code></strong>.
    </span>
   </dd>
  
 </dl>
</div>



  
   




<div class="section" id="pdo-odbc.configuration">
 <h2 class="title">Configuration à l&#039;exécution</h2>
 <p class="simpara">Le comportement de ces fonctions est
affecté par la configuration dans le fichier <var class="filename">php.ini</var>.</p>
 <p class="para">
  <table class="doctable table">
   <caption><strong>Options de configuration PDO_ODBC</strong></caption>
   
    <thead>
     <tr>
      <th>Nom</th>
      <th>Défaut</th>
      <th>Modifiable</th>
      <th>Historique</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td><a href="ref.pdo-odbc.php#ini.pdo-odbc.connection-pooling" class="link">pdo_odbc.connection_pooling</a></td>
      <td>&quot;strict&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="ref.pdo-odbc.php#ini.pdo-odbc.db2-instance-name" class="link">pdo_odbc.db2_instance_name</a></td>
      <td><strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></td>
      <td><strong><code>INI_SYSTEM</code></strong></td>
      <td>Cette fonctionnalité obsolète <em>sera</em>
certainement <em>supprimée</em> dans le futur.</td>
     </tr>

    </tbody>
   
  </table>

  Pour plus de détails sur les modes INI_*,
        reportez-vous à <a href="configuration.changes.modes.php" class="xref">O&ugrave; une directive de configuration peut &ecirc;tre modifi&eacute;e</a>.
 </p>

<p class="para">Voici un éclaircissement sur
l&#039;utilisation des directives de configuration.</p>

 <p class="para">
  <dl>
   
   <dt id="ini.pdo-odbc.connection-pooling">
    <code class="parameter">pdo_odbc.connection_pooling</code>
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
   </dt>
   <dd>
    <p class="para">
     Pour mettre en commun les connexions ODBC. Peut être <code class="literal">&quot;strict&quot;</code>, <code class="literal">&quot;relaxed&quot;</code>
     ou <code class="literal">&quot;off&quot;</code> (égal à <code class="literal">&quot;&quot;</code>). Le paramètre décrit comment la gestion de la
     connexion stricte devrait être lorsque les paramètres de connexion se
     ressemblent pour des connexions mises en commun.
     <strong class="userinput"><code>strict</code></strong> est la valeur par défaut recommandée et
     permettra l&#039;utilisation des connexions en cache lorsque des paramètres
     de connexion similaires sont utilisés. <strong class="userinput"><code>relaxed</code></strong>
     permettra d&#039;utiliser des connexions mises en cache lorsque des paramètres
     de connexion similaire seront utilisés. Cela peut augmenter l&#039;utilisation
     du cache au risque de noyer les informations de connexion entre (par
     exemple) des serveurs virtuels.
    </p>
    <p class="para">
     Cette configuration peut seulement être changé à partir du fichier
     <var class="filename">php.ini</var> et affecte le processus entier; n&#039;importe quels autres modules
     chargé dans le processus qui utilisent les bibliothèques ODBC sera aussi
     affecté, en incluant l&#039;<a href="ref.uodbc.php" class="link">extension unifié
     ODBC</a>.
    </p>
    <div class="warning"><strong class="warning">Avertissement</strong>
     <p class="para">
      <strong class="userinput"><code>relaxed</code></strong> ne devrait pas être utilisé sur les
      serveurs partagés, pour des raisons de sécurité.
     </p>
    </div>
    <div class="tip"><strong class="tip">Astuce</strong>
     <p class="para">
      Laissez cette configuration à la valeur par défaut
      <strong class="userinput"><code>strict</code></strong> à moins que l&#039;on ait une bonne raison
      pour la changer.
     </p>
    </div>
   </dd>
  
  
   <dt id="ini.pdo-odbc.db2-instance-name">
    <code class="parameter">pdo_odbc.db2_instance_name</code>
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
   </dt>
   <dd>
    <p class="para">
     Si l&#039;on compile PDO_ODBC en utilisant <code class="literal">db2</code>, cette
     configuration fixe la valeur de la variable d&#039;environnement DB2INSTANCE
     sur les systèmes d&#039;exploitation Linux et UNIX au nom spécifié de
     l&#039;instance DB2. Ceci permet à PDO_ODBC de résoudre le chemin des
     bibliothèques DB2 et de faire des connexions cataloguées aux bases de
     données DB2.
    </p>
    <p class="para">
     Cette configuration peut seulement être changée à partir du fichier
     <var class="filename">php.ini</var> et affecte le processus entier; n&#039;importe quels autres modules
     chargés dans le processus qui utilisent les mêmes bibliothèques ODBC
     seront aussi affectés, incluant l&#039;<a href="ref.uodbc.php" class="link">extension
     unifiée ODBC</a>.
    </p>
    <p class="para">
     Cette configuration n&#039;a aucun effet sur Windows.
    </p>
   </dd>
  
 
  </dl>
 </p>
</div>



  </div>

  

 <h2>Sommaire</h2><ul class="chunklist chunklist_reference"><li><a href="ref.pdo-odbc.connection.php">PDO_ODBC DSN</a> — Connexion aux bases de donn&eacute;es ODBC ou DB2</li></ul>
</div>
<?php manual_footer($setup); ?>