<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.oci8.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'function.oci-pconnect.php',
    1 => 'oci_pconnect',
    2 => 'Establece una conexi&oacute;n persistente a un servidor Oracle',
  ),
  'up' => 
  array (
    0 => 'ref.oci8.php',
    1 => 'Funciones de OCI8',
  ),
  'prev' => 
  array (
    0 => 'function.oci-password-change.php',
    1 => 'oci_password_change',
  ),
  'next' => 
  array (
    0 => 'function.oci-register-taf-callback.php',
    1 => 'oci_register_taf_callback',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/oci8/functions/oci-pconnect.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.oci-pconnect" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">oci_pconnect</h1>
  <p class="verinfo">(PHP 5, PHP 7, PHP 8, PECL OCI8 &gt;= 1.1.0)</p><p class="refpurpose"><span class="refname">oci_pconnect</span> &mdash; <span class="dc-title">Establece una conexión persistente a un servidor Oracle</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.oci-pconnect-description">
  <h3 class="title">Descripción</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>oci_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">$username</code></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">$password</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">$connection_string</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></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">$encoding</code><span class="initializer"> = &quot;&quot;</span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$session_mode</code><span class="initializer"> = <strong><code><a href="oci8.constants.php#constant.oci-default">OCI_DEFAULT</a></code></strong></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="para rdfs-comment">
   Establece una conexión persistente a un servidor Oracle y se identifica.
  </p>
  <p class="para">
   Las conexiones persistentes se almacenan en caché y se reutilizan
   entre las consultas, reduciendo así la carga en cada carga de página;
   una aplicación PHP típica tiene una sola conexión persistente a un servidor Oracle
   por proceso hijo Apache (o proceso PHP FastCGI/CGI). Ver la sección sobre la
   <a href="oci8.connection.php" class="link">Gestión de Conexiones y el Agrupamiento
    de Conexiones</a> para más información.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.oci-pconnect-parameters">
  <h3 class="title">Parámetros</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">username</code></dt>
     <dd>
      <p class="para">
       El nombre de usuario de Oracle.
      </p>
     </dd>
    
    
     <dt><code class="parameter">password</code></dt>
     <dd>
      <p class="para">
       La contraseña del usuario.
      </p>
     </dd>
    
    
     <dt><code class="parameter">connection_string</code></dt>
     <dd>
      <p class="para">
Contiene la instancia <code class="literal">Oracle</code> a la que debemos conectarnos.
Esto puede ser una <a href="https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=GUID-E5358DEA-D619-4B7B-A799-3D2F802500F1" class="link external">&raquo;&nbsp;cadena de conexión
    rápida</a>, un nombre de conexión del archivo <var class="filename">tnsnames.ora</var>,
o el nombre de una instancia local Oracle.</p>
<p class="para">Si no se especifica o es <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong>, PHP utiliza variables de entorno como <strong><code>TWO_TASK</code></strong> (en Linux)
o <strong><code>LOCAL</code></strong> (en Windows)
y <strong><code>ORACLE_SID</code></strong> para determinar la instancia
<code class="literal">Oracle</code> a la que debemos conectarnos.
</p>
<p class="para">
Para usar el método de conexión rápida, PHP debe estar vinculado con la biblioteca
cliente Oracle 10<em>g</em> o superior. La cadena de conexión rápida para Oracle
10<em>g</em> o superior es de la forma:
<em>[//]host_name[:port][/service_name]</em>. Desde Oracle
11<em>g</em>, la sintaxis es:
<em>[//]host_name[:port][/service_name][:server_type][/instance_name]</em>.
 Opciones adicionales fueron introducidas con Oracle 19c
Los nombres de los servicios pueden ser encontrados ejecutando la utilidad
Oracle <code class="literal">lsnrctl status</code> en la máquina que ejecuta
la base de datos.
</p>
<p class="para">
El archivo <var class="filename">tnsnames.ora</var> puede estar en el camino
de búsqueda de Oracle Net, que incluye
<var class="filename">/your/path/to/instantclient/network/admin</var>, <var class="filename">$ORACLE_HOME/network/admin</var>
y <var class="filename">/etc</var>.
Una solución alternativa sería definir <code class="literal">TNS_ADMIN</code>
para que el archivo <var class="filename">$TNS_ADMIN/tnsnames.ora</var> sea leído.
Asegúrese de que el demonio que ejecuta el servidor web tenga acceso de lectura a este
archivo.
</p>
     </dd>
    
    
     <dt><code class="parameter">encoding</code></dt>
     <dd>
      <p class="para">Determina
el juego de caracteres utilizado por la biblioteca cliente Oracle. El juego de
caracteres no necesita ser idéntico al utilizado por la base de datos.
Si no coincide, Oracle hará lo mejor posible para convertir los datos
desde el juego de caracteres de la base de datos. Dependiendo de los juegos de caracteres,
el resultado puede no ser perfecto. Además, esta conversión
requiere un poco de tiempo del sistema.
</p>
<p class="para">Si no se especifica, la biblioteca
cliente Oracle determinará un juego de caracteres desde la variable de entorno
<strong><code>NLS_LANG</code></strong>.
</p>
<p class="para">Pasar este parámetro puede
reducir el tiempo de conexión.
</p>
     </dd>
    
    
     <dt><code class="parameter">session_mode</code></dt>
     <dd>
      <p class="para">Este parámetro
está disponible a partir de PHP 5 (PECL OCI8 1.1) y acepta los siguientes valores:
<strong><code><a href="oci8.constants.php#constant.oci-default">OCI_DEFAULT</a></code></strong>, <strong><code><a href="oci8.constants.php#constant.oci-sysoper">OCI_SYSOPER</a></code></strong> y
<strong><code><a href="oci8.constants.php#constant.oci-sysdba">OCI_SYSDBA</a></code></strong>.
Si bien la constante <strong><code><a href="oci8.constants.php#constant.oci-sysoper">OCI_SYSOPER</a></code></strong> o la constante
<strong><code><a href="oci8.constants.php#constant.oci-sysdba">OCI_SYSDBA</a></code></strong> es especificada, esta función intentará establecer
una conexión privilegiada usando identidades externas. Las
conexiones privilegiadas están desactivadas por omisión. Para activarlas, debe
definir la opción <a href="oci8.configuration.php#ini.oci8.privileged-connect" class="link">oci8.privileged_connect</a>
a <code class="literal">On</code>.
</p>
<p class="para">
PHP 5.3 (PECL OCI8 1.3.4) introducen el valor de modo
<strong><code><a href="oci8.constants.php#constant.oci-cred-ext">OCI_CRED_EXT</a></code></strong>. Este modo solicita a Oracle usar una
identificación externa o bien del sistema operativo, que debe ser
configurada en la base de datos. El flag <strong><code><a href="oci8.constants.php#constant.oci-cred-ext">OCI_CRED_EXT</a></code></strong>
solo puede ser usado con el nombre de usuario &quot;/&quot; asociado a una contraseña vacía.
La opción <a href="oci8.configuration.php#ini.oci8.privileged-connect" class="link">oci8.privileged_connect</a>
puede ser definida a <code class="literal">On</code> o <code class="literal">Off</code>.
</p>
<p class="para">
<strong><code><a href="oci8.constants.php#constant.oci-cred-ext">OCI_CRED_EXT</a></code></strong> puede ser combinado con el modo
<strong><code><a href="oci8.constants.php#constant.oci-sysoper">OCI_SYSOPER</a></code></strong> o el modo
<strong><code><a href="oci8.constants.php#constant.oci-sysdba">OCI_SYSDBA</a></code></strong>.
</p>
<p class="para">
<strong><code><a href="oci8.constants.php#constant.oci-cred-ext">OCI_CRED_EXT</a></code></strong> no es soportado en Windows por razones de seguridad.
</p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.oci-pconnect-returnvalues">
  <h3 class="title">Valores devueltos</h3>
  <p class="para">
   Devuelve un identificador de conexión, o <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> si ocurre un error.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.oci-pconnect-examples">
  <h3 class="title">Ejemplos</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Ejemplo #1 Ejemplo con <span class="function"><strong>oci_pconnect()</strong></span></strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #FF8000">// Conexión al servicio XE (i.e. base de datos) en la máquina "localhost"<br /></span><span style="color: #0000BB">$conn </span><span style="color: #007700">= </span><span style="color: #0000BB">oci_pconnect</span><span style="color: #007700">(</span><span style="color: #DD0000">'hr'</span><span style="color: #007700">, </span><span style="color: #DD0000">'welcome'</span><span style="color: #007700">, </span><span style="color: #DD0000">'localhost/XE'</span><span style="color: #007700">);<br />if (!</span><span style="color: #0000BB">$conn</span><span style="color: #007700">) {<br />    </span><span style="color: #0000BB">$e </span><span style="color: #007700">= </span><span style="color: #0000BB">oci_error</span><span style="color: #007700">();<br />    </span><span style="color: #0000BB">trigger_error</span><span style="color: #007700">(</span><span style="color: #0000BB">htmlentities</span><span style="color: #007700">(</span><span style="color: #0000BB">$e</span><span style="color: #007700">[</span><span style="color: #DD0000">'message'</span><span style="color: #007700">], </span><span style="color: #0000BB">ENT_QUOTES</span><span style="color: #007700">), </span><span style="color: #0000BB">E_USER_ERROR</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #0000BB">$stid </span><span style="color: #007700">= </span><span style="color: #0000BB">oci_parse</span><span style="color: #007700">(</span><span style="color: #0000BB">$conn</span><span style="color: #007700">, </span><span style="color: #DD0000">'SELECT * FROM employees'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">oci_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$stid</span><span style="color: #007700">);<br /><br />echo </span><span style="color: #DD0000">"&lt;table border='1'&gt;\n"</span><span style="color: #007700">;<br />while (</span><span style="color: #0000BB">$row </span><span style="color: #007700">= </span><span style="color: #0000BB">oci_fetch_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$stid</span><span style="color: #007700">, </span><span style="color: #0000BB">OCI_ASSOC</span><span style="color: #007700">+</span><span style="color: #0000BB">OCI_RETURN_NULLS</span><span style="color: #007700">)) {<br />    echo </span><span style="color: #DD0000">"&lt;tr&gt;\n"</span><span style="color: #007700">;<br />    foreach (</span><span style="color: #0000BB">$row </span><span style="color: #007700">as </span><span style="color: #0000BB">$item</span><span style="color: #007700">) {<br />        echo </span><span style="color: #DD0000">"    &lt;td&gt;" </span><span style="color: #007700">. (</span><span style="color: #0000BB">$item </span><span style="color: #007700">!== </span><span style="color: #0000BB">null </span><span style="color: #007700">? </span><span style="color: #0000BB">htmlentities</span><span style="color: #007700">(</span><span style="color: #0000BB">$item</span><span style="color: #007700">, </span><span style="color: #0000BB">ENT_QUOTES</span><span style="color: #007700">) : </span><span style="color: #DD0000">""</span><span style="color: #007700">) . </span><span style="color: #DD0000">"&lt;/td&gt;\n"</span><span style="color: #007700">;<br />    }<br />    echo </span><span style="color: #DD0000">"&lt;/tr&gt;\n"</span><span style="color: #007700">;<br />}<br />echo </span><span style="color: #DD0000">"&lt;/table&gt;\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
  <p class="para">
   Ver la función <span class="function"><a href="function.oci-connect.php" class="function">oci_connect()</a></span> para más ejemplos sobre el uso
   de este parámetro.
  </p>
 </div>


 <div class="refsect1 notes" id="refsect1-function.oci-pconnect-notes">
  <h3 class="title">Notas</h3>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <span class="simpara">
    La duración y el número máximo
    de conexiones persistentes Oracle por proceso PHP pueden ajustarse
    definiendo los siguientes valores de configuración: <a href="oci8.configuration.php#ini.oci8.persistent-timeout" class="link">oci8.persistent_timeout</a>,
    <a href="oci8.configuration.php#ini.oci8.ping-interval" class="link">oci8.ping_interval</a> y
    <a href="oci8.configuration.php#ini.oci8.max-persistent" class="link">oci8.max_persistent</a>.
   </span>
  </p></blockquote>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.oci-pconnect-seealso">
  <h3 class="title">Ver también</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.oci-connect.php" class="function" rel="rdfs-seeAlso">oci_connect()</a> - Establece una conexi&oacute;n con un servidor Oracle</span></li>
    <li><span class="function"><a href="function.oci-new-connect.php" class="function" rel="rdfs-seeAlso">oci_new_connect()</a> - Conexi&oacute;n al servidor Oracle utilizando una sola conexi&oacute;n</span></li>
   </ul>
  </p>
 </div>


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