<?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-connect.php',
    1 => 'db2_connect',
    2 => 'Retourne une connexion &agrave; une base de donn&eacute;es',
  ),
  'up' => 
  array (
    0 => 'ref.ibm-db2.php',
    1 => 'Fonctions IBM DB2',
  ),
  'prev' => 
  array (
    0 => 'function.db2-conn-errormsg.php',
    1 => 'db2_conn_errormsg',
  ),
  'next' => 
  array (
    0 => 'function.db2-cursor-type.php',
    1 => 'db2_cursor_type',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/ibm_db2/functions/db2-connect.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

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

 </div>
 <div class="refsect1 description" id="refsect1-function.db2-connect-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">function</span> <span class="methodname"><strong>db2_connect</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">
   Crée une nouvelle connexion à une base de données IBM DB2 Universal
   Database, IBM Cloudscape ou Apache Derby.
  </p>

 </div>

 <div class="refsect1 parameters" id="refsect1-function.db2-connect-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 de la base de données, <code class="parameter">database</code>
      représente l&#039;alias de la base de données dans le catalogue client DB2
     </span>
     <p class="para">
      Pour une connexion non cataloguée de la base de données, <code class="parameter">database</code>
      représente une chaîne complète de connexion qui est dans le 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">
          L&#039;adresse Internet ou IP du serveur de 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
          connexions.
         </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>
     <span class="simpara">
      Pour les connexions non cataloguées, il faut passer une valeur
      <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> ou une chaîne vide.
     </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>
     <span class="simpara">
      Pour les connexions non cataloguées, il faut passer une valeur
      <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> ou une chaîne vide.
     </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 défilant 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">
      La nouvelle option suivante est disponible pour les versions ibm_db2 1.7.0 et
      suivantes.
      <dl>
       
        <dt><code class="parameter">trustedcontext</code></dt>
        <dd>
         <span class="simpara">
          Le fait de passer la valeur DB2_TRUSTED_CONTEXT_ENABLE active le contexte
          de confiance pour ce gestionnaire de connexion. Ce paramètre ne peut
          être défini avec la fonction <span class="function"><a href="function.db2-set-option.php" class="function">db2_set_option()</a></span>.
         </span>
         <span class="simpara">
          Cette clé fonctionne uniquement si la base de données est cataloguée
          (même si la base de données est locale), ou si l&#039;on spécifie le DSN complet
          lors de la création de la connexion.
         </span>
         <span class="simpara">
          Pour cataloguer la base de données, utiliser les commandes suivantes :
         </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 nouvelles options i5/OS suivantes sont disponibles dans les versions
      ibm_db2 1.5.1 et suivantes.
      <dl>
       
        <dt><code class="parameter">i5_lib</code></dt>
        <dd>
         <span class="simpara">
          Un caractère qui indique la bibliothèque par défaut qui sera
          utilisée pour résoudre les références aux fichiers non qualifiées.
          Ceci n&#039;est pas valide si la connexion utilise un mode de système de
          nom.
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_naming</code></dt>
        <dd>
         <span class="simpara">
          La valeur <code class="literal">DB2_I5_NAMING_ON</code> active le mode de
          nommage système iSeries de DB2 UDB CLI. Les fichiers sont qualifiés en
          utilisant le délimiteur slash (/). Les fichiers non qualifiés sont
          résolus en utilisant la liste de bibliothèque pour le travail.
         </span>
         <span class="simpara">
          La valeur <code class="literal">DB2_I5_NAMING_OFF</code> désactive le
          mode de nommage par défaut de DB2 UDB CLI, qui est le nommage SQL. Les fichiers
          sont qualifiés en utilisant le délimiteur point (.). Les fichiers
          non qualifiés sont résolus en utilisant soit la bibliothèque par
          défaut, soit l&#039;ID 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> devrait être fixé avant
          l&#039;appel à <span class="function"><strong>db2_connect()</strong></span>. Si la valeur est
          changée après que la connexion a été établie et que la connexion
          est à une source de données distante, le changement ne prendra
          effet qu&#039;au prochain appel réussi de <span class="function"><strong>db2_connect()</strong></span>
          pour le gestionnaire de connexion.
          <blockquote class="note"><p><strong class="note">Note</strong>: 
           <span class="simpara">
           La configuration php.ini <code class="parameter">ibm_db2.i5_allow_commit</code>==0
           ou <code class="literal">DB2_I5_TXN_NO_COMMIT</code> est par défaut, mais
           peut être remplacée avec 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 sales,
          non répétables et fantômes sont possibles.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_TXN_READ_COMMITTED</code> : Les lectures sales ne
          sont pas possibles. Les lectures non répétables et fantômes sont possibles.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_TXN_REPEATABLE_READ</code> : Les lectures sales et
          non répétables ne sont pas possibles. Les lectures fantômes sont possibles.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_TXN_SERIALIZABLE</code> : les transactions sont
          sérialisées. Les lectures sales, non répétables et fantômes ne sont
          pas possibles.
         </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 avec le but de retourner la première page aussi vite
           que possible. Ce but fonctionne bien lorsque les données de sortie sont
           contrôlées par un utilisateur qui est le plus susceptible d&#039;annuler une requête après
           avoir vu la première page des données. Les requêtes sont codées
           avec une clause <code class="literal">&quot;OPTIMIZE FOR nnn ROWS&quot;</code> afin de
           honorer le but spécifié par la clause.
         </span>
         <span class="simpara">
          <code class="literal">DB2_ALL_IO</code> Toutes les requêtes sont optimisées
          avec le but d&#039;exécuter la requête entière jusqu&#039;à la fin dans le plus petit
          intervalle de temps. C&#039;est une bonne option lorsque les données de sortie
          d&#039;une requête sont en train d&#039;être écrites vers un fichier ou un
          rapport ou encore lorsque l&#039;interface met en file d&#039;attente les données. Les
          requêtes sont codées avec une clause <code class="literal">&quot;OPTIMIZE FOR nnn ROWS&quot;</code> afin de
          honorer le but spécifié par la clause. C&#039;est la valeur par
          défaut.
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_dbcs_alloc</code></dt>
        <dd>
         <span class="simpara">
          La valeur <code class="literal">DB2_I5_DBCS_ALLOC_ON</code> active le canevas
          d&#039;allocation DB2 6X pour l&#039;accroissement des tailles des colonnes
          en traduction DBCS.
         </span>
         <span class="simpara">
          La valeur <code class="literal">DB2_I5_DBCS_ALLOC_OFF</code> désactive le
          canevas d&#039;allocation DB2 6X pour l&#039;accroissement des tailles des
          colonnes en traduction DBCS.
         </span>
         <span class="simpara">
          Note : la configuration <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 par défaut mais peut
          être remplacée avec l&#039;option <code class="parameter">i5_dbcs_alloc</code>.
         </span>
        </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 de l&#039;organisation internationale de
          normalisation (ISO) <code class="literal">&quot;yyyy-mm-dd&quot;</code> est utilisé. Ceci est la valeur par
          défaut.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_USA</code> : le format de date des
          États-Unis <code class="literal">&quot;mm/dd/yyyy&quot;</code> est utilisé.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_EUR</code> : le format de date européen
          <code class="literal">&quot;dd.mm.yyyy&quot;</code> est utilisé.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_JIS</code> : le format de date de
          la norme industrielle japonaise (JIS) <code class="literal">&quot;yyyy-mm-dd&quot;</code> est utilisé.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_MDY</code> : le format de date <code class="literal">&quot;mm/dd/yyyy&quot;</code>
          est utilisé.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_DMY</code> : le format de date <code class="literal">&quot;dd/mm/yyyy&quot;</code>
          est utilisé.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_YMD</code> : le format de date <code class="literal">&quot;yy/mm/dd&quot;</code> est
          utilisé.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_JUL</code> : le format de date julien <code class="literal">&quot;yy/ddd&quot;</code>
          est utilisé.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_JOB</code> : la valeur par défaut est utilisée.
         </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é
          en tant que séparateur de date.
          Ceci est la valeur par défaut.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_DASH</code> : un tiret ( - ) est utilisé en
          tant que séparateur de date.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_PERIOD</code> : un point ( . ) est utilisé
          en tant que séparateur de date.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_COMMA</code> : une virgule ( , ) est
          utilisée en tant que séparateur de date.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_BLANK</code> : un espace blanc est utilisé
          en tant que séparateur de date.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_JOB</code> : la valeur 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 de l&#039;heure de
          l&#039;organisation internationale de normalisation (ISO) <code class="literal">&quot;hh.mm.ss&quot;</code> est
          utilisé. Ceci est la valeur par défaut.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_USA</code> : le format de l&#039;heure des
          États-Unis <code class="literal">&quot;hh:mmxx&quot;</code> est utilisé, où <code class="literal">&quot;xx&quot;</code>
          vaut <code class="literal">&quot;AM&quot;</code> ou <code class="literal">&quot;PM&quot;</code>.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_EUR</code> : le format de l&#039;heure européen
          <code class="literal">&quot;hh.mm.ss&quot;</code> est utilisé.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_JIS</code> : le format de l&#039;heure de
          la norme industrielle japonaise <code class="literal">&quot;hh:mm:ss&quot;</code> est utilisé.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_HMS</code> : le format <code class="literal">&quot;hh:mm:ss&quot;</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-points ( : ) est
          utilisé en tant que séparateur d&#039;heure. Ceci est la valeur par
          défaut.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_PERIOD</code> : un point ( . ) est utilisé
          en tant que séparateur d&#039;heure.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_COMMA</code> : une virgule ( , ) est
          utilisée en tant que séparateur d&#039;heure.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_BLANK</code> : un espace blanc est utilisé
          en tant que séparateur d&#039;heure.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_JOB</code> : la valeur par défaut est
          utilisée.
         </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é
          en tant que séparateur de décimale. Ceci est la valeur par défaut.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_COMMA</code> : une virgule ( , ) est
          utilisée en tant que séparateur de décimale.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_JOB</code> : la valeur par défaut est
          utilisée.
         </span>
        </dd>
       
      </dl>
     </p>
     <p class="para">
      La nouvelle option i5/OS suivante est disponible à partir de la version ibm_db2
      1.8.0.
      <dl>
       
        <dt><code class="parameter">i5_libl</code></dt>
        <dd>
         <span class="simpara">
          Une chaîne indiquant la liste de bibliothèques à utiliser pour résoudre les références
          de fichiers non qualifiés. Spécifier la liste en séparant les
          valeurs par un espace, comme ceci : &#039;i5_libl&#039;=&gt;&quot;MYLIB YOURLIB ANYLIB&quot;.
         </span>
         <blockquote class="note"><p><strong class="note">Note</strong>: 
          <span class="simpara">
           <code class="parameter">i5_libl</code> appelle <code class="literal">qsys2/qcmdexc(&#039;cmd&#039;,cmdlen)</code>,
           qui n&#039;est disponible qu&#039;à partir de i5/OS V5R4.
          </span>
         </p></blockquote>
        </dd>
       
      </dl>
     </p>
    </dd>
   
  </dl>
 </div>

 <div class="refsect1 returnvalues" id="refsect1-function.db2-connect-returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="simpara">
   Retourne la ressource de connexion si la tentative de connexion réussit. Si
   la tentative de connexion échoue, <span class="function"><strong>db2_connect()</strong></span> retourne
   <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.db2-connect-examples">
  <h3 class="title">Exemples</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Exemple #1 Création d&#039;une connexion cataloguée</strong></p>
    <div class="example-contents"><p>
     Les connexions cataloguées nécessitent que l&#039;on ait préalablement
     catalogué la base de données spécifiée à l&#039;aide du processeur de ligne de
     commandes DB2 (<code class="literal">&quot;Command Line Processor&quot;</code> : CLP) ou avec l&#039;assistant de
     configuration de DB2.
    </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">$conn </span><span style="color: #007700">= </span><span style="color: #0000BB">db2_connect</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">$conn</span><span style="color: #007700">) {<br />    echo </span><span style="color: #DD0000">"Connexion réussie."</span><span style="color: #007700">;<br />    </span><span style="color: #0000BB">db2_close</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">);<br />}<br />else {<br />    echo </span><span style="color: #DD0000">"Connexion é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 réussie.</pre>
</div>
    </div>
   </div>
   <div class="example" id="example-2">
    <p><strong>Exemple #2 Création d&#039;une connexion non cataloguée</strong></p>
    <div class="example-contents"><p>
     Une connexion non cataloguée permet de se connecter dynamiquement
     à une base de données.
    </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 /></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 /><br /></span><span style="color: #0000BB">$conn_string </span><span style="color: #007700">= </span><span style="color: #DD0000">"DRIVER={IBM DB2 ODBC DRIVER};DATABASE=</span><span style="color: #0000BB">$database</span><span style="color: #DD0000">;" </span><span style="color: #007700">.<br />  </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">;PROTOCOL=TCPIP;UID=</span><span style="color: #0000BB">$user</span><span style="color: #DD0000">;PWD=</span><span style="color: #0000BB">$password</span><span style="color: #DD0000">;"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$conn </span><span style="color: #007700">= </span><span style="color: #0000BB">db2_connect</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn_string</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">);<br /><br />if (</span><span style="color: #0000BB">$conn</span><span style="color: #007700">) {<br />    echo </span><span style="color: #DD0000">"Connexion réussie."</span><span style="color: #007700">;<br />    </span><span style="color: #0000BB">db2_close</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">);<br />}<br />else {<br />    echo </span><span style="color: #DD0000">"Connexion é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 réussie.</pre>
</div>
    </div>
   </div>
   <div class="example" id="example-3">
    <p><strong>Exemple #3 Création d&#039;une connexion avec autocommit désactivé par défaut</strong></p>
    <div class="example-contents"><p>
     Le fait de passer un tableau d&#039;option à <span class="function"><strong>db2_connect()</strong></span>
     permet de modifier le comportement par défaut de la 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 /></span><span style="color: #0000BB">$options </span><span style="color: #007700">= array(</span><span style="color: #DD0000">'autocommit' </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">DB2_AUTOCOMMIT_OFF</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$conn </span><span style="color: #007700">= </span><span style="color: #0000BB">db2_connect</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">, </span><span style="color: #0000BB">$options</span><span style="color: #007700">);<br /><br />if (</span><span style="color: #0000BB">$conn</span><span style="color: #007700">) {<br />    echo </span><span style="color: #DD0000">"Connexion réussie.\n"</span><span style="color: #007700">;<br />    if (</span><span style="color: #0000BB">db2_autocommit</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">)) {<br />         echo </span><span style="color: #DD0000">"Autocommit est activé.\n"</span><span style="color: #007700">;<br />    }<br />    else {<br />         echo </span><span style="color: #DD0000">"Autocommit est désactivé.\n"</span><span style="color: #007700">;<br />    }<br />    </span><span style="color: #0000BB">db2_close</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">);<br />}<br />else {<br />    echo </span><span style="color: #DD0000">"Connexion é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 réussie.
Autocommit est désactivé.</pre>
</div>
    </div>
   </div>

   <div class="example" id="example-4">
    <p><strong>Exemple #4 Meilleure performance i5/OS</strong></p>
    <div class="example-contents"><p>
     Pour obtenir les meilleures performances de l&#039;application PHP i5/OS
     ibm_db2 1.5.1, utiliser l&#039;hôte par défaut, l&#039;identifiant utilisateur et
     le mot de passe pour l&#039;appel à <span class="function"><strong>db2_connect()</strong></span>.
    </p></div>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />  $library </span><span style="color: #007700">= </span><span style="color: #DD0000">"ADC"</span><span style="color: #007700">;<br />  </span><span style="color: #0000BB">$i5 </span><span style="color: #007700">= </span><span style="color: #0000BB">db2_connect</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: #DD0000">""</span><span style="color: #007700">, array(</span><span style="color: #DD0000">"i5_lib"</span><span style="color: #007700">=&gt;</span><span style="color: #DD0000">"qsys2"</span><span style="color: #007700">));<br />  </span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">db2_exec</span><span style="color: #007700">(</span><span style="color: #0000BB">$i5</span><span style="color: #007700">,<br />       </span><span style="color: #DD0000">"select * from systables where table_schema = '</span><span style="color: #0000BB">$library</span><span style="color: #DD0000">'"</span><span style="color: #007700">);<br />  while (</span><span style="color: #0000BB">$row </span><span style="color: #007700">= </span><span style="color: #0000BB">db2_fetch_both</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">)) {<br />     echo </span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #DD0000">'TABLE_NAME'</span><span style="color: #007700">].</span><span style="color: #DD0000">"&lt;/br&gt;"</span><span style="color: #007700">;<br />  }<br />  </span><span style="color: #0000BB">db2_close</span><span style="color: #007700">(</span><span style="color: #0000BB">$i5</span><span style="color: #007700">);<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">ANIMALS
NAMES
PICTURES</pre>
</div>
    </div>
   </div>
   <div class="example" id="example-5">
    <p><strong>Exemple #5 Utilisation du contexte de confiance</strong></p>
    <div class="example-contents"><p>
     L&#039;exemple suivant montre comment activer le contexte de confiance, changer d&#039;utilisateur
     et récupérer l&#039;ID de l&#039;utilisateur courant.
    </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_connect</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 explicite 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">//Code en tant qu'utilisateur 1.<br /><br />        //Passage à 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">//Code en tant qu'utilisateur de confiance.<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">"L'utilisateur a 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">"La connexion explicite de confiance a échoué.\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 explicite de confiance réussie.
L&#039;utilisateur a changé.</pre>
</div>
    </div>
   </div>
  </p>
 </div>


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



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