<?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 => 'es',
  ),
  'this' => 
  array (
    0 => 'function.db2-pconnect.php',
    1 => 'db2_pconnect',
    2 => 'Devuelve una conexi&oacute;n persistente a una base de datos',
  ),
  'up' => 
  array (
    0 => 'ref.ibm-db2.php',
    1 => 'Funciones de 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' => 'es',
    '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">
   Devuelve una conexión persistente a una base de datos
  </span></p>

 </div>
 <div class="refsect1 description" id="refsect1-function.db2-pconnect-description">
  <h3 class="title">Descripción</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">
   Devuelve una conexión persistente a una base de datos IBM DB2
   Universal Database, IBM Cloudscape o Apache Derby.
  </p>

  <p class="simpara">
   Para más información sobre las conexiones persistentes, véase
   <a href="features.persistent-connections.php" class="xref">Conexiones persistentes a bases de datos</a>.
  </p>

  <p class="simpara">
   Al llamar a <span class="function"><a href="function.db2-close.php" class="function">db2_close()</a></span> sobre una conexión persistente,
   siempre se recibirá <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>, pero las conexiones de los clientes DB2
   permanecerán abiertas y esperarán para servir la próxima petición de la
   función <span class="function"><strong>db2_pconnect()</strong></span>.
  </p>

  <p class="simpara">
   Los usuarios de versiones 1.9.0 o superiores de ibm_db2 deben saber que la extensión
   ejecutará un rollback sobre una transacción en una conexión persistente al final
   de la consulta, terminando así la transacción. Esto evita un bloqueo transaccional
   hacia la consulta siguiente sobre la misma conexión si la ejecución del script termina
   antes de la transacción.
  </p>

 </div>

 <div class="refsect1 parameters" id="refsect1-function.db2-pconnect-parameters">
  <h3 class="title">Parámetros</h3>
  <dl>
   
    <dt><code class="parameter">database</code></dt>
    <dd>
     <span class="simpara">
      Para una conexión catalogada a una base de datos, <code class="parameter">database</code>
      representa el alias de la base de datos en el catálogo del cliente DB2.
     </span>
     <p class="para">
      Para una conexión no catalogada a una base de datos,
      <code class="parameter">database</code> representa una cadena de conexión completa
      en el siguiente formato :
      <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">Nota</strong>: 
       <p class="para">
        Al conectarse a Db2 sobre IBM i, las llamadas al sistema subyacentes
        <a href="https://www.ibm.com/docs/en/i/7.5?topic=functions-sqldriverconnect-connect-data-source" class="link external">&raquo;&nbsp;SQLDriverConnect</a>,
        solo aceptan DSN, UID y PWD para 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;cadena de conexión</a>.
        Como sigue :
        <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>
      donde los parámetros representan los siguientes valores :
      <dl>
       
        <dt><code class="parameter">database</code></dt>
        <dd>
         <span class="simpara">
          El nombre de la base de datos.
         </span>
        </dd>
       
       
        <dt><code class="parameter">hostname</code></dt>
        <dd>
         <span class="simpara">
          El nombre de host o la dirección IP del servidor de la base de datos.
         </span>
        </dd>
       
       
        <dt><code class="parameter">port</code></dt>
        <dd>
         <span class="simpara">
          El puerto TCP/IP en el que la base de datos escucha
          las consultas.
         </span>
        </dd>
       
       
        <dt><code class="parameter">username</code></dt>
        <dd>
         <span class="simpara">
          El nombre de usuario con el que se conecta a la
          base de datos.
         </span>
        </dd>
       
       
        <dt><code class="parameter">password</code></dt>
        <dd>
         <span class="simpara">
          La contraseña con la que se conecta a la base de datos.
         </span>
        </dd>
       
      </dl>
     </p>
    </dd>
   
   
    <dt><code class="parameter">username</code></dt>
    <dd>
     <span class="simpara">
      El nombre de usuario con el que se conecta a la base de
      datos.
     </span>
    </dd>
   
   
    <dt><code class="parameter">password</code></dt>
    <dd>
     <span class="simpara">
      La contraseña con la que se conecta a la base de datos.
     </span>
    </dd>
   
   
    <dt><code class="parameter">options</code></dt>
    <dd>
     <p class="para">
      Un array asociativo de opciones de conexión que afectarán el
      comportamiento de la conexión, donde los valores de las claves incluyen :
      <dl>
       
        <dt><code class="parameter">autocommit</code></dt>
        <dd>
         <span class="simpara">
          El valor <strong><code><a href="ibm-db2.constants.php#constant.db2-autocommit-on">DB2_AUTOCOMMIT_ON</a></code></strong> activa el autocommit
          en esta conexión.
         </span>
         <span class="simpara">
          El valor <strong><code><a href="ibm-db2.constants.php#constant.db2-autocommit-off">DB2_AUTOCOMMIT_OFF</a></code></strong> desactiva el
          autocommit para esta conexión.
         </span>
        </dd>
       
       
        <dt><code class="parameter">DB2_ATTR_CASE</code></dt>
        <dd>
         <span class="simpara">
          Pasar el valor <strong><code><a href="ibm-db2.constants.php#constant.db2-case-natural">DB2_CASE_NATURAL</a></code></strong> especifica que los
          nombres de columnas serán devueltos en sus casos naturales.
         </span>
         <span class="simpara">
          Pasar el valor <strong><code><a href="ibm-db2.constants.php#constant.db2-case-lower">DB2_CASE_LOWER</a></code></strong> especifica que los
          nombres de columnas serán devueltos en minúsculas.
         </span>
         <span class="simpara">
          Pasar el valor <strong><code><a href="ibm-db2.constants.php#constant.db2-case-upper">DB2_CASE_UPPER</a></code></strong> especifica que los
          nombres de columnas serán devueltos en mayúsculas.
         </span>
        </dd>
       
       
        <dt><code class="parameter">CURSOR</code></dt>
        <dd>
         <span class="simpara">
          Pasar el valor <strong><code><a href="ibm-db2.constants.php#constant.db2-forward-only">DB2_FORWARD_ONLY</a></code></strong> especifica un cursor
          solo hacia adelante para un recurso de consulta. Este es el tipo de cursor
          por defecto y es soportado en todos los servidores de base de datos.
         </span>
         <span class="simpara">
          Pasar el valor <strong><code><a href="ibm-db2.constants.php#constant.db2-scrollable">DB2_SCROLLABLE</a></code></strong> especifica un
          cursor desplazable para un recurso de consulta. Este modo permite
          un acceso aleatorio a las filas en un conjunto de resultados, pero actualmente,
          solo es soportado por la base de datos IBM DB2 Universal.
         </span>
        </dd>
       
      </dl>
     </p>
     <p class="para">
      Las siguientes opciones están disponibles desde ibm_db2 versión 1.7.0.
      <dl>
       
        <dt><code class="parameter">trustedcontext</code></dt>
        <dd>
         <span class="simpara">
          Al pasar el valor DB2_TRUSTED_CONTEXT_ENABLE, el contexto de confianza
          es activado para esta conexión. Este parámetro no puede ser activado
          con <span class="function"><a href="function.db2-set-option.php" class="function">db2_set_option()</a></span>.
         </span>
         <span class="simpara">
          Esta opción solo funciona si la base está catalogada, incluso si la base
          es local, o si se especifica un DSN completo al crear la conexión.
         </span>
         <span class="simpara">
          Para catalogar la base, utilice el siguiente comando :
         </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">
      Las siguientes opciones i5/OS están disponibles desde ibm_db2 versión 1.5.1.
      <div class="tip"><strong class="tip">Sugerencia</strong>
       <p class="simpara">
        Atributos de conexión contradictorios, en conjunción con una
        conexión persistente pueden producir resultados indeterminados en i5/OS.
        La política del sitio debe ser establecida para todas las aplicaciones que
        utilizan una conexión persistente. El valor por defecto de
        DB2_AUTOCOMMIT_ON es recomendado con las conexiones persistentes.
       </p>
      </div>
      <dl>
       
        <dt><code class="parameter">i5_lib</code></dt>
        <dd>
         <span class="simpara">
          Un carácter que indica la biblioteca por defecto que será
          utilizada para resolver las referencias de ficheros no calificadas.
          Esta opción no es válida si la conexión utiliza el modo
          de nombramiento del sistema.
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_naming</code></dt>
        <dd>
         <span class="simpara">
          <code class="literal">DB2_I5_NAMING_ON</code> activa el modo de nombramiento del sistema
          de DB2 UDB CLI iSeries. Los ficheros son entonces calificados con el delimitador
          slash (/). Los ficheros no calificados son resueltos utilizando la lista
          de bibliotecas de la tarea.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_NAMING_OFF</code> activa el modo de nombramiento por defecto,
          que es el nombramiento SQL. Los ficheros son entonces calificados con el punto (.) .
          Los ficheros no calificados son resueltos con la biblioteca por defecto,
          o bien el identificador del usuario actual.
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_commit</code></dt>
        <dd>
         <p class="para">
          El atributo <code class="parameter">i5_commit</code> debe ser configurado antes
          de la llamada a <span class="function"><strong>db2_pconnect()</strong></span>. Si el valor es cambiado
          después de la conexión, y la conexión se efectúa sobre datos remotos,
          entonces este cambio no tendrá efectos, hasta la próxima llamada exitosa
          a <span class="function"><strong>db2_pconnect()</strong></span>.
          <blockquote class="note"><p><strong class="note">Nota</strong>: 
           <span class="simpara">
            La directiva del <var class="filename">php.ini</var> <code class="parameter">ibm_db2.i5_allow_commit</code>==0
            o <code class="literal">DB2_I5_TXN_NO_COMMIT</code> es el valor por defecto, pero puede
            ser reemplazado por la opción <code class="parameter">i5_commit</code>.
           </span>
          </p></blockquote>
         </p>
         <span class="simpara">
          <code class="literal">DB2_I5_TXN_NO_COMMIT</code> : el control de validación no es utilizado.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_TXN_READ_UNCOMMITTED</code> : las lecturas inconsistentes,
          o no repetibles y los fantasmas son posibles.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_TXN_READ_COMMITTED</code> : las lecturas son consistentes.
          Las lecturas no repetibles y los fantasmas son posibles.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_TXN_REPEATABLE_READ</code> : las lecturas consistentes y
          repetibles, pero los fantasmas son posibles.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_TXN_SERIALIZABLE</code> : las transacciones son activadas.
          Las lecturas inconsistentes, o no repetibles y los fantasmas son imposibles.
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_query_optimize</code></dt>
        <dd>
         <span class="simpara">
          <code class="literal">DB2_FIRST_IO</code> : todas las consultas son optimizadas
          con el objetivo de devolver la primera página lo más rápidamente posible.
          Este objetivo funciona bien cuando el resultado es controlado por un
          usuario que tiene buenas probabilidades de cancelar la consulta después de ver
          las primeras respuestas. Las consultas codificadas con una cláusula
          <code class="literal">OPTIMIZE FOR nnn ROWS</code> respetan también este objetivo.
         </span>
         <span class="simpara">
          <code class="literal">DB2_ALL_IO</code> : todas las consultas son optimizadas
          con el objetivo de procesar la consulta completa lo más rápidamente posible.
          Esta es una buena opción cuando el resultado de la consulta debe ser
          escrito en un fichero o un informe, o que la interfaz acumula todos
          los datos antes de exportarlos. Las consultas codificadas con la cláusula
          <code class="literal">OPTIMIZE FOR nnn ROWS</code> respetan también este objetivo.
          Este es el comportamiento por defecto.
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_dbcs_alloc</code></dt>
        <dd>
         <span class="simpara">
          <code class="literal">DB2_I5_DBCS_ALLOC_ON</code> activa el esquema de asignación
          DB2 6X para el crecimiento de las tallas de columnas de traducción DBCS.
         </span>
         <p class="para">
          <code class="literal">DB2_I5_DBCS_ALLOC_OFF</code> desactiva el esquema de asignación
          DB2 6X para el crecimiento de las tallas de columnas de traducción DBCS.
          <blockquote class="note"><p><strong class="note">Nota</strong>: 
           <span class="simpara">
            La directiva del <var class="filename">php.ini</var> <code class="parameter">ibm_db2.i5_dbcs_alloc</code>==0
            o <code class="literal">DB2_I5_DBCS_ALLOC_OFF</code> es el valor por defecto, pero puede
            ser reemplazado por la opción <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> : el formato de fecha ISO
          (<code class="literal">International Organization for Standardization</code>) es
          utilizado : <code class="literal">yyyy-mm-dd</code>. Este es el formato por defecto.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_USA</code> : el formato de los Estados Unidos de América
          es utilizado : <code class="literal">mm/dd/yyyy</code>.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_EUR</code> : el formato de fecha europeo
          <code class="literal">dd.mm.yyyy</code> es utilizado.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_JIS</code> : el formato estándar industrial japonés
          <code class="literal">yyyy-mm-dd</code> es utilizado.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_MDY</code> : el formato de fecha
          <code class="literal">mm/dd/yyyy</code> es utilizado.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_DMY</code> : el formato de fecha
          <code class="literal">dd/mm/yyyy</code> es utilizado.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_YMD</code> : el formato de fecha
          <code class="literal">yy/mm/dd</code> es utilizado.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_JUL</code> : El formato de fecha juliano
          <code class="literal">yy/ddd</code> es utilizado.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_JOB</code> : el formato de fecha por defecto es utilizado.
         </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 ( / ) es utilizado como separador de fecha.
          Este es el formato por defecto.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_DASH</code> : un guión ( - ) es utilizado como separador de fecha.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_PERIOD</code> : un punto ( . ) es utilizado como separador de fecha.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_COMMA</code> : una coma ( , ) es utilizada como separador de fecha.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_BLANK</code> : un espacio es utilizado como separador de fecha.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_JOB</code> : la configuración por defecto es utilizada
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_time_fmt</code></dt>
        <dd>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_ISO</code> : el formato de hora ISO
          (<code class="literal">International Organization for Standardization</code>) es
          utilizado : <code class="literal">hh.mm.ss</code>. Este es el formato por defecto.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_USA</code> : el formato de los Estados Unidos de América
          es utilizado : <code class="literal">hh:mmxx</code> es utilizado, donde <code class="literal">xx</code>
          vale <code class="literal">AM</code> o <code class="literal">PM</code>.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_EUR</code> : el formato de hora europeo
          <code class="literal">hh.mm.ss</code> es utilizado.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_JIS</code> : el formato estándar industrial japonés
          es utilizado <code class="literal">hh:mm:ss</code>.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_HMS</code> : el formato <code class="literal">hh:mm:ss</code>
          es utilizado.
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_time_sep</code></dt>
        <dd>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_COLON</code> : un dos-puntos ( : ) es utilizado como
          separador de hora. Este es el defecto.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_PERIOD</code> : un punto ( . ) es utilizado como
          separador de hora.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_COMMA</code> : una coma ( , ) es utilizada como
          separador de hora.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_BLANK</code> : un espacio es utilizado como
          separador de hora.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_JOB</code> : el separador por defecto es utilizado.
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_decimal_sep</code></dt>
        <dd>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_PERIOD</code> : un punto ( . ) es utilizado como
          separador decimal. Este es el separador por defecto.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_COMMA</code> : una coma ( , ) es utilizada como
          separador decimal.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_JOB</code> : el separador por defecto es utilizado.
         </span>
        </dd>
       
      </dl>
     </p>
     <p class="para">
      Las siguientes opciones i5/OS están disponibles desde ibm_db2 versión 1.8.0.
      <dl>
       
        <dt><code class="parameter">i5_libl</code></dt>
        <dd>
         <p class="para">
          Un carácter que indica la biblioteca que será utilizada para resolver
          las referencias de ficheros no calificadas. Especifique la lista de bibliotecas
          en la forma de elementos separados por espacios :
          <code class="literal">&#039;i5_libl&#039;=&gt;&quot;MYLIB YOURLIB ANYLIB&quot;</code>.
          <blockquote class="note"><p><strong class="note">Nota</strong>: 
           <span class="simpara">
            i5_libl llama a <code class="literal">qsys2/qcmdexc(&#039;cmd&#039;,cmdlen)</code>, que
            está disponible desde 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">Valores devueltos</h3>
  <p class="simpara">
   Devuelve el recurso de conexión si la tentativa de conexión tiene éxito.
   <span class="function"><strong>db2_pconnect()</strong></span> intenta reutilizar un recurso de
   conexión existente que coincide perfectamente con los parámetros tales como la base de datos
   <code class="parameter">database</code>, el usuario <code class="parameter">username</code>
   y la contraseña <code class="parameter">password</code>. Si la tentativa de
   conexión falla, <span class="function"><strong>db2_pconnect()</strong></span> devuelve <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">Historial de cambios</h3>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Versión</th>
      <th>Descripción</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>PECL ibm_db2 1.9.0</td>
      <td>
       Las transacciones activas sobre conexiones persistentes serán anuladas al
       final de cada consulta.
      </td>
     </tr>

     <tr>
      <td>PECL ibm_db2 1.8.0</td>
      <td>
       La opción <code class="parameter">i5_libl</code> está disponible para los usuarios
       de i5/OS.
      </td>
     </tr>

     <tr>
      <td>PECL ibm_db2 1.7.0</td>
      <td>
       La opción <code class="parameter">trustedcontext</code> está disponible.
      </td>
     </tr>

     <tr>
      <td>PECL ibm_db2 1.5.1</td>
      <td>
       Las opciones <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>
       y <code class="parameter">i5_decimal_sep</code> están disponibles para los usuarios
       de i5/OS.
      </td>
     </tr>

    </tbody>
   
  </table>

 </div>


 <div class="refsect1 examples" id="refsect1-function.db2-pconnect-examples">
  <h3 class="title">Ejemplos</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Ejemplo #1 Ejemplo de uso de <span class="function"><strong>db2_pconnect()</strong></span></strong></p>
    <div class="example-contents"><p>
     En el siguiente ejemplo, la primera llamada a
     <span class="function"><strong>db2_pconnect()</strong></span> devuelve un nuevo recurso de
     conexión persistente. La segunda llamada a la función
     <span class="function"><strong>db2_pconnect()</strong></span> devuelve un recurso de conexión
     persistente que reutiliza el primer recurso de conexión.
    </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">'EJEMPLO'</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">"Conexión persistente exitosa."</span><span style="color: #007700">;<br />}<br />else {<br />    echo </span><span style="color: #DD0000">"Conexión persistente fallida."</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">"Segunda conexión persistente exitosa."</span><span style="color: #007700">;<br />}<br />else {<br />    echo </span><span style="color: #DD0000">"Segunda conexión persistente fallida."</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>El ejemplo anterior mostrará:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Conexión persistente exitosa.
Segunda conexión persistente exitosa.</pre>
</div>
    </div>
   </div>
   <div class="example" id="example-2">
    <p><strong>Ejemplo #2 Uso de contextos de confianza DB2</strong></p>
    <div class="example-contents"><p>
     El siguiente ejemplo muestra cómo activar un usuario de confianza,
     cambiar a él, y obtener un identificador de usuario.
    </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">"Conexión de confianza exitosa.\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">//Trabajo por el usuario 1.<br /><br />        //Cambio al usuario de confianza.<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">//Hacer más trabajo como usuario de confianza.<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">"Usuario cambiado." </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">"Conexión de confianza fallida.\n"</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>El ejemplo anterior mostrará:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Conexión de confianza exitosa.
Usuario cambiado</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.db2-pconnect-seealso">
  <h3 class="title">Ver también</h3>
  <ul class="simplelist">
   <li><span class="function"><a href="function.db2-connect.php" class="function" rel="rdfs-seeAlso">db2_connect()</a> - Devuelve una conexi&oacute;n a una base de datos</span></li>
  </ul>
 </div>


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