<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.ibm-db2.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'function.db2-pconnect.php',
    1 => 'db2_pconnect',
    2 => 'Retourne une connexion persistante &agrave; une base de donn&eacute;es',
  ),
  'up' => 
  array (
    0 => 'ref.ibm-db2.php',
    1 => 'Fonctions IBM DB2',
  ),
  'prev' => 
  array (
    0 => 'function.db2-pclose.php',
    1 => 'db2_pclose',
  ),
  'next' => 
  array (
    0 => 'function.db2-prepare.php',
    1 => 'db2_prepare',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/ibm_db2/functions/db2-pconnect.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.db2-pconnect" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">db2_pconnect</h1>
  <p class="verinfo">(PECL ibm_db2 &gt;= 1.0.0)</p><p class="refpurpose"><span class="refname">db2_pconnect</span> &mdash; <span class="dc-title">
   Retourne une connexion persistante à une base de données
  </span></p>

 </div>
 <div class="refsect1 description" id="refsect1-function.db2-pconnect-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>db2_pconnect</strong></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$database</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="language.types.string.php" class="type string">string</a></span></span> <code class="parameter">$username</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="language.types.string.php" class="type string">string</a></span></span> <code class="parameter">$password</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">$options</code><span class="initializer"> = []</span></span><br>): <span class="type"><span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>


  <p class="simpara">
   Retourne une connexion persistante à une base de données IBM DB2
   Universal Database, IBM Cloudscape ou Apache Derby.
  </p>

  <p class="simpara">
   Pour plus d&#039;informations sur les connexions persistantes, voir
   <a href="features.persistent-connections.php" class="xref">Connexions persistantes aux bases de donn&eacute;es</a>.
  </p>

  <p class="simpara">
   En appelant <span class="function"><a href="function.db2-close.php" class="function">db2_close()</a></span> sur une connexion persistante,
   une erreur sera affichée toujours <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>, mais les connexions des clients DB2
   demeureront ouvertes et attendront de servir la prochaine demande de la
   fonction <span class="function"><strong>db2_pconnect()</strong></span>.
  </p>

  <p class="simpara">
   Les utilisateurs de versions 1.9.0 ou plus d&#039;ibm_db2 doivent savoir que l&#039;extension
   exécutera un rollback sur une transaction dans une connexion persistante à la fin
   de la requête, terminant ainsi la transaction. Ceci évite un blocage transactionnel
   vers la requête suivante sur la même connexion si l&#039;exécution du script se termine
   avant la transaction.
  </p>

 </div>

 <div class="refsect1 parameters" id="refsect1-function.db2-pconnect-parameters">
  <h3 class="title">Liste de paramètres</h3>
  <dl>
   
    <dt><code class="parameter">database</code></dt>
    <dd>
     <span class="simpara">
      Pour une connexion cataloguée à une base de données, <code class="parameter">database</code>
      représente l&#039;alias de la base de données dans le catalogue du client DB2.
     </span>
     <p class="para">
      Pour une connexion non cataloguée à une base de données,
      <code class="parameter">database</code> représente une chaîne de connexion complète
      au format suivant :
      <pre class="literallayout">DATABASE=<code class="parameter">database</code>;HOSTNAME=<code class="parameter">hostname</code>;PORT=<code class="parameter">port</code>;PROTOCOL=TCPIP;UID=<code class="parameter">username</code>;PWD=<code class="parameter">password</code>;</pre>
      <blockquote class="note"><p><strong class="note">Note</strong>: 
       <p class="para">
        Lors de la connexion à Db2 sur IBM i, les appels système sous-jacents
        <a href="https://www.ibm.com/docs/en/i/7.5?topic=functions-sqldriverconnect-connect-data-source" class="link external">&raquo;&nbsp;SQLDriverConnect</a>,
        n&#039;acceptent que DSN, UID et PWD pour la
        <a href="https://www.ibm.com/docs/en/i/7.5?topic=functions-sqldriverconnect-connect-data-source#rzadpfndvcon__title__5" class="link external">&raquo;&nbsp;chaîne de connexion</a>.
        Comme suit :
        <pre class="literallayout">DSN=<code class="parameter">database</code>;UID=<code class="parameter">username</code>;PWD=<code class="parameter">password</code>;</pre>
       </p>
      </p></blockquote>
      où les paramètres représentent les valeurs suivantes :
      <dl>
       
        <dt><code class="parameter">database</code></dt>
        <dd>
         <span class="simpara">
          Le nom de la base de données.
         </span>
        </dd>
       
       
        <dt><code class="parameter">hostname</code></dt>
        <dd>
         <span class="simpara">
          Le nom d&#039;hôte ou l&#039;adresse IP du serveur de la base de données.
         </span>
        </dd>
       
       
        <dt><code class="parameter">port</code></dt>
        <dd>
         <span class="simpara">
          Le port TCP/IP sur lequel la base de données écoute
          les requêtes.
         </span>
        </dd>
       
       
        <dt><code class="parameter">username</code></dt>
        <dd>
         <span class="simpara">
          Le nom d&#039;utilisateur utilisé pour la connexion à la
          base de données.
         </span>
        </dd>
       
       
        <dt><code class="parameter">password</code></dt>
        <dd>
         <span class="simpara">
          Le mot de passe utilisé pour la connexion à la base de données.
         </span>
        </dd>
       
      </dl>
     </p>
    </dd>
   
   
    <dt><code class="parameter">username</code></dt>
    <dd>
     <span class="simpara">
      Le nom d&#039;utilisateur utilisé pour la connexion à la base de
      données.
     </span>
    </dd>
   
   
    <dt><code class="parameter">password</code></dt>
    <dd>
     <span class="simpara">
      Le mot de passe utilisé pour la connexion à la base de données.
     </span>
    </dd>
   
   
    <dt><code class="parameter">options</code></dt>
    <dd>
     <p class="para">
      Un tableau associatif des options de connexion qui affecteront le
      comportement de la connexion, où les valeurs des clés incluent :
      <dl>
       
        <dt><code class="parameter">autocommit</code></dt>
        <dd>
         <span class="simpara">
          La valeur <strong><code><a href="ibm-db2.constants.php#constant.db2-autocommit-on">DB2_AUTOCOMMIT_ON</a></code></strong> active l&#039;autocommit
          sur cette connexion.
         </span>
         <span class="simpara">
          La valeur <strong><code><a href="ibm-db2.constants.php#constant.db2-autocommit-off">DB2_AUTOCOMMIT_OFF</a></code></strong> désactive
          l&#039;autocommit pour cette connexion.
         </span>
        </dd>
       
       
        <dt><code class="parameter">DB2_ATTR_CASE</code></dt>
        <dd>
         <span class="simpara">
          Passer la valeur <strong><code><a href="ibm-db2.constants.php#constant.db2-case-natural">DB2_CASE_NATURAL</a></code></strong> spécifie que les
          noms de colonnes seront retournés dans leurs casses naturelles.
         </span>
         <span class="simpara">
          Passer la valeur <strong><code><a href="ibm-db2.constants.php#constant.db2-case-lower">DB2_CASE_LOWER</a></code></strong> spécifie que les
          noms de colonnes seront retournés en minuscule.
         </span>
         <span class="simpara">
          Passer la valeur <strong><code><a href="ibm-db2.constants.php#constant.db2-case-upper">DB2_CASE_UPPER</a></code></strong> spécifie que les
          noms de colonnes seront retournés en majuscule.
         </span>
        </dd>
       
       
        <dt><code class="parameter">CURSOR</code></dt>
        <dd>
         <span class="simpara">
          Passer la valeur <strong><code><a href="ibm-db2.constants.php#constant.db2-forward-only">DB2_FORWARD_ONLY</a></code></strong> spécifie un curseur
          uniquement suivant pour une ressource de requête. C&#039;est le type de curseur
          par défaut et est supporté sur tous les serveurs de base de données.
         </span>
         <span class="simpara">
          Passer la valeur <strong><code><a href="ibm-db2.constants.php#constant.db2-scrollable">DB2_SCROLLABLE</a></code></strong> spécifie un
          curseur scrollable pour une ressource de requête. Ce mode permet
          un accès aléatoire aux lignes dans un jeu de résultats, mais actuellement,
          n&#039;est supporté que par la base de données IBM DB2 Universal.
         </span>
        </dd>
       
      </dl>
     </p>
     <p class="para">
      Les options suivantes sont disponibles depuis ibm_db2 version 1.7.0.
      <dl>
       
        <dt><code class="parameter">trustedcontext</code></dt>
        <dd>
         <span class="simpara">
          En passant la valeur DB2_TRUSTED_CONTEXT_ENABLE, le contexte de confiance
          est activé pour cette connexion. Ce paramètre ne peut pas être activé
          avec <span class="function"><a href="function.db2-set-option.php" class="function">db2_set_option()</a></span>.
         </span>
         <span class="simpara">
          Cette option ne fonctionne que si la base est cataloguée, même si la base
          est locale, ou si l&#039;on spécifie un DSN complet lors de la création de la
          connexion.
         </span>
         <span class="simpara">
          Pour cataloguer la base, utiliser la commande suivante :
         </span>
         <pre class="literallayout">db2 catalog tcpip node loopback remote &lt;SERVERNAME&gt; server &lt;SERVICENAME&gt;
db2 catalog database &lt;LOCALDBNAME&gt; as &lt;REMOTEDBNAME&gt; at node loopback
db2 &quot;update dbm cfg using svcename &lt;SERVICENAME&gt;&quot;
db2set DB2COMM=TCPIP</pre>

        </dd>
       
     </dl>
     </p>
     <p class="para">
      Les options i5/OS suivantes sont disponibles depuis ibm_db2 version 1.5.1.
      <div class="tip"><strong class="tip">Astuce</strong>
       <p class="simpara">
        Des attributs de connexion contradictoires, en conjonction avec une
        connexion persistante peut produire des résultats indéterminés sur i5/OS.
        La politique du site doit être établie pour toutes les applications qui
        utilisent une connexion persistante. La valeur par défaut de
        DB2_AUTOCOMMIT_ON est recommandée avec les connexions persistantes.
       </p>
      </div>
      <dl>
       
        <dt><code class="parameter">i5_lib</code></dt>
        <dd>
         <span class="simpara">
          Une caractère qui indique la bibliothèque par défaut qui sera
          utilisée pour résoudre les références de fichiers non qualifiées.
          Cette option n&#039;est pas valide si la connexion utilise le mode
          de nommage système.
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_naming</code></dt>
        <dd>
         <span class="simpara">
          <code class="literal">DB2_I5_NAMING_ON</code> active le mode de nommage système
          de DB2 UDB CLI iSeries. Les fichiers sont alors qualifiés avec le délimiteur
          slash (/). Les fichiers non qualifiés sont résolus en utilisant la liste
          de bibliothèque de la tâche.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_NAMING_OFF</code> active le mode de nommage par défaut,
          qui est le nommage SQL. Les fichiers sont alors qualifiés avec le point (.) .
          Les fichiers non qualifiés sont résolus avec la bibliothèque par défaut,
          ou bien l&#039;identifiant de l&#039;utilisateur courant.
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_commit</code></dt>
        <dd>
         <p class="para">
          L&#039;attribut <code class="parameter">i5_commit</code> doit être configuré avant
          l&#039;appel à <span class="function"><strong>db2_pconnect()</strong></span>. Si la valeur est changée
          après la connexion, et que la connexion s&#039;effectue sur des données distantes,
          alors ce changement n&#039;aura pas d&#039;effets, jusqu&#039;au prochain appel réussi
          à <span class="function"><strong>db2_pconnect()</strong></span>.
          <blockquote class="note"><p><strong class="note">Note</strong>: 
           <span class="simpara">
            La directive du <var class="filename">php.ini</var> <code class="parameter">ibm_db2.i5_allow_commit</code>==0
            ou <code class="literal">DB2_I5_TXN_NO_COMMIT</code> est la valeur par défaut, mais peut
            être remplacé par l&#039;option <code class="parameter">i5_commit</code>.
           </span>
          </p></blockquote>
         </p>
         <span class="simpara">
          <code class="literal">DB2_I5_TXN_NO_COMMIT</code> : le contrôle de validation n&#039;est pas utilisé.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_TXN_READ_UNCOMMITTED</code> : les lectures incohérentes,
          ou non répétables et les fantômes sont possibles.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_TXN_READ_COMMITTED</code> : les lectures sont cohérentes.
          Les lecteurs non répétables et les fantômes sont possibles.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_TXN_REPEATABLE_READ</code> : les lectures cohérentes et
          répétables, mais les fantômes sont possibles.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_TXN_SERIALIZABLE</code> : les transactions sont activées.
          les lectures incohérentes, ou non répétables et les fantômes sont impossibles.
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_query_optimize</code></dt>
        <dd>
         <span class="simpara">
          <code class="literal">DB2_FIRST_IO</code> : toutes les requêtes sont optimisées
          dans le but de retourner la première page le plus rapidement possible.
          Cet objectif fonctionne bien lorsque le résultat est contrôlé par un
          utilisateur qui a de bonnes chances d&#039;annuler la requête après avoir vu
          les premières réponses. Les requêtes codées avec une clause
          <code class="literal">OPTIMIZE FOR nnn ROWS</code> respectent aussi cet objectif.
         </span>
         <span class="simpara">
          <code class="literal">DB2_ALL_IO</code> : toutes les requêtes sont optimisées
          dans le but de traiter la requête complète le plus rapidement possible.
          C&#039;est une bonne option lorsque le résultat de la requête doit être
          écrit dans un fichier ou un rapport, ou que l&#039;interface accumule toutes
          les données avant des exporter. Les requêtes codées avec la clause
          <code class="literal">OPTIMIZE FOR nnn ROWS</code> respectent aussi cet objectif.
          C&#039;est le comportement par défaut.
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_dbcs_alloc</code></dt>
        <dd>
         <span class="simpara">
          <code class="literal">DB2_I5_DBCS_ALLOC_ON</code> active le schéma d&#039;allocation
          DB2 6X pour la croissance des tailles de colonnes de translation DBCS.
         </span>
         <p class="para">
          <code class="literal">DB2_I5_DBCS_ALLOC_OFF</code> désactive le schéma d&#039;allocation
          DB2 6X pour la croissance des tailles de colonnes de translation DBCS.
          <blockquote class="note"><p><strong class="note">Note</strong>: 
           <span class="simpara">
            La directive du <var class="filename">php.ini</var> <code class="parameter">ibm_db2.i5_dbcs_alloc</code>==0
            ou <code class="literal">DB2_I5_DBCS_ALLOC_OFF</code> est la valeur par défaut, mais peut
            être remplacé par l&#039;option <code class="parameter">i5_dbcs_alloc</code>.
           </span>
          </p></blockquote>
          </p>
        </dd>
       
       
        <dt><code class="parameter">i5_date_fmt</code></dt>
        <dd>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_ISO</code> : le format de date ISO
          (<code class="literal">International Organization for Standardization</code>) est
          utilisé : <code class="literal">yyyy-mm-dd</code>. C&#039;est le format par défaut.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_USA</code> : le format des États Unis d&#039;Amérique
          est utilisé : <code class="literal">mm/dd/yyyy</code>.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_EUR</code> : le format de date européen
          <code class="literal">dd.mm.yyyy</code> est utilisé.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_JIS</code> : le format standard industriel japonais
          <code class="literal">yyyy-mm-dd</code> est utilisé.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_MDY</code> : le format de date
          <code class="literal">mm/dd/yyyy</code> est utilisé.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_DMY</code> : le format de date
          <code class="literal">dd/mm/yyyy</code> est utilisé.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_YMD</code> : le format de date
          <code class="literal">yy/mm/dd</code> est utilisé.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_JUL</code> : Le format de date julien
          <code class="literal">yy/ddd</code> est utilisé.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_JOB</code> : le format de date par défaut est utilisé.
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_date_sep</code></dt>
        <dd>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_SLASH</code> : un slash ( / ) est utilisé comme séparateur de date.
          C&#039;est le format par défaut.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_DASH</code> : un tiret ( - ) est utilisé comme séparateur de date.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_PERIOD</code> : un point ( . ) est utilisé comme séparateur de date.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_COMMA</code> : une virgule ( , ) est utilisée comme séparateur de date.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_BLANK</code> : un espace est utilisé comme séparateur de date.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_JOB</code> : la configuration par défaut est utilisée
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_time_fmt</code></dt>
        <dd>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_ISO</code> : le format d&#039;heure ISO
          (<code class="literal">International Organization for Standardization</code>) est
          utilisé : <code class="literal">hh.mm.ss</code>. C&#039;est le format par défaut.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_USA</code> : le format des États-Unis d&#039;Amérique
          est utilisé : <code class="literal">hh:mmxx</code> est utilisé, où <code class="literal">xx</code>
          vaut <code class="literal">AM</code> ou <code class="literal">PM</code>.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_EUR</code> : le format d&#039;heure européen
          <code class="literal">hh.mm.ss</code> est utilisé.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_JIS</code> : le format standard industriel japonais
          est utilisé <code class="literal">hh:mm:ss</code>.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_HMS</code> : le format <code class="literal">hh:mm:ss</code>
          est utilisé.
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_time_sep</code></dt>
        <dd>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_COLON</code> : un deux-point ( : ) est utilisé comme
          séparateur d&#039;heure. C&#039;est le défaut.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_PERIOD</code> : un point ( . ) est utilisé comme
          séparateur d&#039;heure.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_COMMA</code> : une virgule ( , ) est utilisée comme
          séparateur d&#039;heure.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_BLANK</code> : un espace est utilisé comme
          séparateur d&#039;heure.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_JOB</code> : le séparateur par défaut est utilisé.
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_decimal_sep</code></dt>
        <dd>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_PERIOD</code> : un point ( . ) est utilisé comme
          séparateur décimal. C&#039;est le séparateur par défaut.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_COMMA</code> : une virgule ( , ) est utilisée comme
          séparateur décimal.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_JOB</code> : le séparateur par défaut est utilisé.
         </span>
        </dd>
       
      </dl>
     </p>
     <p class="para">
      Les options suivantes i5/OS sont disponibles depuis ibm_db2 version 1.8.0.
      <dl>
       
        <dt><code class="parameter">i5_libl</code></dt>
        <dd>
         <p class="para">
          Un caractère qui indique la bibliothèque qui sera utilisée pour résoudre
          les références de fichiers non qualifiées. Spécifier la liste de bibliothèque
          sous la forme d&#039;éléments séparés par des espaces :
          <code class="literal">&#039;i5_libl&#039;=&gt;&quot;MYLIB YOURLIB ANYLIB&quot;</code>.
          <blockquote class="note"><p><strong class="note">Note</strong>: 
           <span class="simpara">
            i5_libl appelle <code class="literal">qsys2/qcmdexc(&#039;cmd&#039;,cmdlen)</code>, qui
            est disponible depuis i5/OS V5R4.
           </span>
          </p></blockquote>
         </p>
        </dd>
       
      </dl>
     </p>
     </dd>
    
   </dl>
 </div>

 <div class="refsect1 returnvalues" id="refsect1-function.db2-pconnect-returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="simpara">
   Retourne la ressource de connexion si la tentative de connexion réussit.
   <span class="function"><strong>db2_pconnect()</strong></span> essaie de réutiliser une ressource de
   connexion existante qui correspond parfaitement aux paramètres tels que la base de données
   <code class="parameter">database</code>, l&#039;utilisateur <code class="parameter">username</code>
   et le mot de passe <code class="parameter">password</code>. Si la tentative de
   connexion échoue, <span class="function"><strong>db2_pconnect()</strong></span> retourne <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.db2-pconnect-changelog">
  <h3 class="title">Historique</h3>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Version</th>
      <th>Description</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>PECL ibm_db2 1.9.0</td>
      <td>
       Les transactions actives sur des connexions persistantes seront annulées à
       la fin de chaque requête.
      </td>
     </tr>

     <tr>
      <td>PECL ibm_db2 1.8.0</td>
      <td>
       L&#039;option <code class="parameter">i5_libl</code> est disponible pour les utilisateurs
       d&#039;i5/OS.
      </td>
     </tr>

     <tr>
      <td>PECL ibm_db2 1.7.0</td>
      <td>
       L&#039;option <code class="parameter">trustedcontext</code> est disponible.
      </td>
     </tr>

     <tr>
      <td>PECL ibm_db2 1.5.1</td>
      <td>
       Les options <code class="parameter">i5_lib</code>, <code class="parameter">i5_naming</code>,
       <code class="parameter">i5_commit</code>,
       <code class="parameter">i5_query_optimize</code>,
       <code class="parameter">i5_dbcs_alloc</code>,
       <code class="parameter">i5_date_fmt</code>,
       <code class="parameter">i5_date_sep</code>,
       <code class="parameter">i5_time_fmt</code>, <code class="parameter">i5_time_sep</code>
       et <code class="parameter">i5_decimal_sep</code> sont disponibles pour les utilisateurs
       d&#039;i5/OS.
      </td>
     </tr>

    </tbody>
   
  </table>

 </div>


 <div class="refsect1 examples" id="refsect1-function.db2-pconnect-examples">
  <h3 class="title">Exemples</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Exemple #1 Exemple d&#039;utilisation de <span class="function"><strong>db2_pconnect()</strong></span></strong></p>
    <div class="example-contents"><p>
     Dans l&#039;exemple suivant, le premier appel à
     <span class="function"><strong>db2_pconnect()</strong></span> retourne une nouvelle ressource de
     connexion persistante. Le second appel à la fonction
     <span class="function"><strong>db2_pconnect()</strong></span> retourne une ressource de connexion
     persistante qui réutilise la première ressource de connexion.
    </p></div>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$database </span><span style="color: #007700">= </span><span style="color: #DD0000">'EXEMPLE'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$user </span><span style="color: #007700">= </span><span style="color: #DD0000">'db2inst1'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$password </span><span style="color: #007700">= </span><span style="color: #DD0000">'ibmdb2'</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$pconn </span><span style="color: #007700">= </span><span style="color: #0000BB">db2_pconnect</span><span style="color: #007700">(</span><span style="color: #0000BB">$database</span><span style="color: #007700">, </span><span style="color: #0000BB">$user</span><span style="color: #007700">, </span><span style="color: #0000BB">$password</span><span style="color: #007700">);<br /><br />if (</span><span style="color: #0000BB">$pconn</span><span style="color: #007700">) {<br />    echo </span><span style="color: #DD0000">"Connexion persistante réussie."</span><span style="color: #007700">;<br />}<br />else {<br />    echo </span><span style="color: #DD0000">"Connexion persistante échouée."</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">$pconn2 </span><span style="color: #007700">= </span><span style="color: #0000BB">db2_pconnect</span><span style="color: #007700">(</span><span style="color: #0000BB">$database</span><span style="color: #007700">, </span><span style="color: #0000BB">$user</span><span style="color: #007700">, </span><span style="color: #0000BB">$password</span><span style="color: #007700">);<br />if (</span><span style="color: #0000BB">$pconn</span><span style="color: #007700">) {<br />    echo </span><span style="color: #DD0000">"Deuxième connexion persistante réussie."</span><span style="color: #007700">;<br />}<br />else {<br />    echo </span><span style="color: #DD0000">"Deuxième connexion persistante échouée."</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>L&#039;exemple ci-dessus va afficher :</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Connexion persistante réussie.
Deuxième connexion persistante réussie.</pre>
</div>
    </div>
   </div>
   <div class="example" id="example-2">
    <p><strong>Exemple #2 Utilisation de contextes de confiance DB2</strong></p>
    <div class="example-contents"><p>
     L&#039;exemple suivant montre comment activer un utilisateur de confiance,
     basculer dessus, et obtenir un identifiant d&#039;utilisateur.
    </p></div>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$database </span><span style="color: #007700">= </span><span style="color: #DD0000">"SAMPLE"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$hostname </span><span style="color: #007700">= </span><span style="color: #DD0000">"localhost"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$port </span><span style="color: #007700">= </span><span style="color: #0000BB">50000</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$authID </span><span style="color: #007700">= </span><span style="color: #DD0000">"db2inst1"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$auth_pass </span><span style="color: #007700">= </span><span style="color: #DD0000">"ibmdb2"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$tc_user </span><span style="color: #007700">= </span><span style="color: #DD0000">"tcuser"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$tc_pass </span><span style="color: #007700">= </span><span style="color: #DD0000">"tcpassword"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$dsn </span><span style="color: #007700">= </span><span style="color: #DD0000">"DATABASE=</span><span style="color: #0000BB">$database</span><span style="color: #DD0000">;HOSTNAME=</span><span style="color: #0000BB">$hostname</span><span style="color: #DD0000">;PORT=</span><span style="color: #0000BB">$port</span><span style="color: #DD0000">;<br />  PROTOCOL=TCPIP;UID=</span><span style="color: #0000BB">$authID</span><span style="color: #DD0000">;PWD=</span><span style="color: #0000BB">$auth_pass</span><span style="color: #DD0000">;"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$options </span><span style="color: #007700">= array (</span><span style="color: #DD0000">"trustedcontext" </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">DB2_TRUSTED_CONTEXT_ENABLE</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$tc_conn </span><span style="color: #007700">= </span><span style="color: #0000BB">db2_pconnect</span><span style="color: #007700">(</span><span style="color: #0000BB">$dsn</span><span style="color: #007700">, </span><span style="color: #DD0000">""</span><span style="color: #007700">, </span><span style="color: #DD0000">""</span><span style="color: #007700">, </span><span style="color: #0000BB">$options</span><span style="color: #007700">);<br />if(</span><span style="color: #0000BB">$tc_conn</span><span style="color: #007700">) {<br />    echo </span><span style="color: #DD0000">"Connexion de confiance réussie.\n"</span><span style="color: #007700">;<br /><br />    if(</span><span style="color: #0000BB">db2_get_option</span><span style="color: #007700">(</span><span style="color: #0000BB">$tc_conn</span><span style="color: #007700">, </span><span style="color: #DD0000">"trustedcontext"</span><span style="color: #007700">)) {<br />        </span><span style="color: #0000BB">$userBefore </span><span style="color: #007700">= </span><span style="color: #0000BB">db2_get_option</span><span style="color: #007700">(</span><span style="color: #0000BB">$tc_conn</span><span style="color: #007700">, </span><span style="color: #DD0000">"trusted_user"</span><span style="color: #007700">);<br /><br />        </span><span style="color: #FF8000">//Travail par l'utilisateur 1.<br /><br />        //Bascule sur l'utilisateur de confiance.<br />        </span><span style="color: #0000BB">$parameters </span><span style="color: #007700">= array(</span><span style="color: #DD0000">"trusted_user" </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">$tc_user</span><span style="color: #007700">,<br />          </span><span style="color: #DD0000">"trusted_password" </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">$tcuser_pass</span><span style="color: #007700">);<br />        </span><span style="color: #0000BB">$res </span><span style="color: #007700">= </span><span style="color: #0000BB">db2_set_option </span><span style="color: #007700">(</span><span style="color: #0000BB">$tc_conn</span><span style="color: #007700">, </span><span style="color: #0000BB">$parameters</span><span style="color: #007700">, </span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /><br />        </span><span style="color: #0000BB">$userAfter </span><span style="color: #007700">= </span><span style="color: #0000BB">db2_get_option</span><span style="color: #007700">(</span><span style="color: #0000BB">$tc_conn</span><span style="color: #007700">, </span><span style="color: #DD0000">"trusted_user"</span><span style="color: #007700">);<br />        </span><span style="color: #FF8000">//Do more work as trusted user.<br /><br />        </span><span style="color: #007700">if(</span><span style="color: #0000BB">$userBefore </span><span style="color: #007700">!= </span><span style="color: #0000BB">$userAfter</span><span style="color: #007700">) {<br />            echo </span><span style="color: #DD0000">"Utilisateur changé." </span><span style="color: #007700">. </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />        }<br />    }<br /><br />    </span><span style="color: #0000BB">db2_close</span><span style="color: #007700">(</span><span style="color: #0000BB">$tc_conn</span><span style="color: #007700">);<br />}<br />else {<br />    echo </span><span style="color: #DD0000">"Connexion de confiance échouée.\n"</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>L&#039;exemple ci-dessus va afficher :</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Connexion de confiance réussie.
Utilisateur changé</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.db2-pconnect-seealso">
  <h3 class="title">Voir aussi</h3>
  <ul class="simplelist">
   <li><span class="function"><a href="function.db2-connect.php" class="function" rel="rdfs-seeAlso">db2_connect()</a> - Retourne une connexion &agrave; une base de donn&eacute;es</span></li>
  </ul>
 </div>



</div><?php manual_footer($setup); ?>