<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.cubrid.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'function.cubrid-pconnect-with-url.php',
    1 => 'cubrid_pconnect_with_url',
    2 => 'Establece una conexi&oacute;n persistente con un servidor CUBRID',
  ),
  'up' => 
  array (
    0 => 'ref.cubrid.php',
    1 => 'Funciones de CUBRID',
  ),
  'prev' => 
  array (
    0 => 'function.cubrid-pconnect.php',
    1 => 'cubrid_pconnect',
  ),
  'next' => 
  array (
    0 => 'function.cubrid-prepare.php',
    1 => 'cubrid_prepare',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/cubrid/functions/cubrid-pconnect-with-url.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.cubrid-pconnect-with-url" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">cubrid_pconnect_with_url</h1>
  <p class="verinfo">(PECL CUBRID &gt;= 8.3.1)</p><p class="refpurpose"><span class="refname">cubrid_pconnect_with_url</span> &mdash; <span class="dc-title">Establece una conexión persistente con un servidor CUBRID</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.cubrid-pconnect-with-url-description">
  <h3 class="title">Descripción</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>cubrid_pconnect_with_url</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$conn_url</code></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$userid</code><span class="initializer"> = ?</span></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$passwd</code><span class="initializer"> = ?</span></span>): <span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span></div>

  <p class="simpara">
   Establece una conexión persistente con un servidor CUBRID.
  </p>
  <p class="simpara">
   <span class="function"><strong>cubrid_pconnect_with_url()</strong></span> funciona de manera similar a la
   función <span class="function"><a href="function.cubrid-connect-with-url.php" class="function">cubrid_connect_with_url()</a></span>, con dos diferencias principales.
  </p>
  <p class="simpara">
   En primer lugar, al establecer la conexión, la función intentará encontrar
   un enlace (persistente) ya abierto con el mismo host, en el mismo puerto, en la
   misma base de datos dbname y utilizando el mismo userid. Si se encuentra una conexión
   de este tipo, su identificador será devuelto en lugar de abrir una nueva conexión.
  </p>
  <p class="simpara">
   A continuación, la conexión al servidor CUBRID no se cerrará cuando finalice
   el script. En su lugar, la conexión permanecerá abierta para su uso futuro (la función
   <span class="function"><a href="function.cubrid-close.php" class="function">cubrid_close()</a></span> o la función <span class="function"><a href="function.cubrid-disconnect.php" class="function">cubrid_disconnect()</a></span> no cerrarán la conexión
   establecida por la función <span class="function"><strong>cubrid_pconnect_with_url()</strong></span>).
  </p>
  <p class="simpara">
   Este tipo de enlace se denominaba anteriormente &#039;persistente&#039;.
  </p>
  <p class="simpara">
   &lt;url&gt; ::= CUBRID:&lt;host&gt;:&lt;db_name&gt;:&lt;db_user&gt;:&lt;db_password&gt;:[?&lt;properties&gt;]
  </p>
  <p class="simpara">
   &lt;properties&gt; ::= &lt;property&gt; [&amp;&lt;property&gt;]
  </p>
  <p class="simpara">
   &lt;properties&gt; ::= alhosts=&lt;alternative_hosts&gt;[ &amp;rctime=&lt;time&gt;]
  </p>
  <p class="simpara">
   &lt;properties&gt; ::= login_timeout=&lt;milli_sec&gt;
  </p>
  <p class="simpara">
   &lt;properties&gt; ::= query_timeout=&lt;milli_sec&gt;
  </p>
  <p class="simpara">
   &lt;properties&gt; ::= disconnect_on_query_timeout=true|false
  </p>
  <p class="simpara">
   &lt;alternative_hosts&gt; ::= &lt;standby_broker1_host&gt;:&lt;port&gt; [,&lt;standby_broker2_host&gt;:&lt;port&gt;]
  </p>
  <p class="simpara">
   &lt;host&gt; := HOSTNAME | IP_ADDR
  </p>
  <p class="simpara">
   &lt;time&gt; := SECOND
  </p>
  <p class="simpara">
   &lt;milli_sec&gt; := MILLI SECOND
  </p>
  <ul class="simplelist">
   <li>host : Un nombre de host o una dirección IP del servidor maestro de la base de datos</li>
   <li>db_name : Un nombre de base de datos</li>
   <li>db_user : Un nombre de usuario de la base de datos</li>
   <li>db_password : Una contraseña para el usuario de la base de datos</li>
   <li>autocommit : El modo auto-commit de la conexión a la base de datos</li>
   <li>
    alhosts : Especifica la información del broker del servidor, que será utilizado como punto de salida
    cuando no sea posible conectarse al servidor activo. Se pueden especificar varios brokers en este caso,
    y la conexión a los brokers se intentará en el orden de la configuración alhosts
   </li>
   <li>
    rctime : Un intervalo de tiempo para esperar antes de intentar una conexión con un broker cuando ocurre un error.
    Después de que ocurra un error, el sistema intentará conectarse a un broker especificado por
    althosts, terminará la transacción, y luego intentará conectarse al broker activo del servidor maestro
    de la base de datos. El valor por omisión es de 600 segundos.
   </li>
   <li>
    login_timeout : Valor del tiempo máximo de espera (unidad: milisegundo) para la identificación
    a la base de datos. Por omisión, este valor es 0, lo que significa que se espera indefinidamente.
   </li>
   <li>
    query_timeout : Valor del tiempo máximo de espera (unidad: milisegundo) para la ejecución
    de la consulta. Una vez alcanzado este valor, se envía un mensaje para cancelar la consulta
    enviada al servidor. El valor devuelto puede depender de la configuración de disconnect_on_query_timeout;
    incluso si el mensaje para cancelar la consulta ha sido enviado al servidor, la consulta puede tener éxito.
   </li>
   <li>
    disconnect_on_query_timeout : Configura un valor que determina si se debe devolver
    inmediatamente un error para las funciones ejecutadas después del tiempo máximo de espera.
    El valor por omisión es <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>.
   </li>
  </ul>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <span class="simpara">
    Los caracteres <code class="literal">?</code> y <code class="literal">:</code>
    utilizados como identificadores en las URLs de conexión PHP no pueden
    ser incluidos en la contraseña. A continuación se muestra un ejemplo de contraseña
    inválida, ya que utiliza los caracteres &quot;<code class="literal">?:</code>&quot; en la URL de conexión.
   </span>
   <span class="simpara">
    $url = &quot;CUBRID:localhost:33000:tdb:dba:12?:?login_timeout=100&quot;;
   </span>
   <span class="simpara">
    Las contraseñas que contienen el carácter <code class="literal">?</code> o el
    carácter <code class="literal">:</code> pueden ser pasadas como argumento separado.
   </span>
   <span class="simpara">
    $url = &quot;CUBRID:localhost:33000:tbd:::?login_timeout=100&quot;;
   </span>
   <span class="simpara">
    $conn = cubrid_pconnect_with_url ($url, &quot;dba&quot;, &quot;12?&quot;);
   </span>
   <span class="simpara">
    Si el nombre de usuario o la contraseña están vacíos, no se deben
    eliminar los &quot;<code class="literal">:</code>&quot;; a continuación se muestra un ejemplo:
   </span>
   <span class="simpara">
    $url = &quot;CUBRID:localhost:33000:demodb:::&quot;;
   </span>
  </p></blockquote>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.cubrid-pconnect-with-url-parameters">
  <h3 class="title">Parámetros</h3>
  <dl>
   
    <dt><code class="parameter">conn_url</code></dt>
    <dd>
     <span class="simpara">
      Un <span class="type"><a href="language.types.string.php" class="type string">string</a></span> que contiene la información de conexión para el servidor.
     </span>
    </dd>
   
   
    <dt><code class="parameter">userid</code></dt>
    <dd>
     <span class="simpara">
      Nombre de usuario para la base de datos.
     </span>
    </dd>
   
   
    <dt><code class="parameter">passwd</code></dt>
    <dd>
     <span class="simpara">
      Contraseña para el usuario.
     </span>
    </dd>
   
  </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.cubrid-pconnect-with-url-returnvalues">
  <h3 class="title">Valores devueltos</h3>
  <p class="simpara">
   Identificador de conexión, cuando el proceso tiene éxito, 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.cubrid-pconnect-with-url-examples">
  <h3 class="title">Ejemplos</h3>
  <div class="example" id="example-1">
   <p><strong>Ejemplo #1 Ejemplo con <span class="function"><strong>cubrid_pconnect_with_url()</strong></span> sin propiedades</strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$conn_url </span><span style="color: #007700">= </span><span style="color: #DD0000">"CUBRID:127.0.0.1:33000:demodb:dba::?althost=10.34.63.132:33088&amp;rctime=100"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$con </span><span style="color: #007700">= </span><span style="color: #0000BB">cubrid_pconnect_with_url </span><span style="color: #007700">(</span><span style="color: #0000BB">$conn_url</span><span style="color: #007700">);<br /><br />if (</span><span style="color: #0000BB">$con</span><span style="color: #007700">) {<br />   echo </span><span style="color: #DD0000">"Conexión exitosa"</span><span style="color: #007700">;<br />   </span><span style="color: #0000BB">cubrid_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">, </span><span style="color: #DD0000">"create table person(id int,name char(16))"</span><span style="color: #007700">);<br />   </span><span style="color: #0000BB">$req </span><span style="color: #007700">=</span><span style="color: #0000BB">cubrid_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">, </span><span style="color: #DD0000">"insert into person values(1,'James')"</span><span style="color: #007700">);<br /><br />   if (</span><span style="color: #0000BB">$req</span><span style="color: #007700">) {<br />      </span><span style="color: #0000BB">cubrid_close_request </span><span style="color: #007700">(</span><span style="color: #0000BB">$req</span><span style="color: #007700">);<br />      </span><span style="color: #0000BB">cubrid_commit </span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">);<br />   } else {<br />      </span><span style="color: #0000BB">cubrid_rollback </span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">);<br />   }<br />   </span><span style="color: #0000BB">cubrid_disconnect </span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">);<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>

  <div class="example" id="example-2">
   <p><strong>Ejemplo #2 <span class="function"><strong>cubrid_pconnect_with_url()</strong></span> url with properties example</strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$conn_url </span><span style="color: #007700">= </span><span style="color: #DD0000">"CUBRID:127.0.0.1:33000:demodb:dba::?autocommit=off&amp;althost=10.34.63.132:33088&amp;rctime=100"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$con </span><span style="color: #007700">= </span><span style="color: #0000BB">cubrid_pconnect_with_url </span><span style="color: #007700">(</span><span style="color: #0000BB">$conn_url</span><span style="color: #007700">);<br /><br />if (</span><span style="color: #0000BB">$con</span><span style="color: #007700">) {<br />   echo </span><span style="color: #DD0000">"Conexión exitosa"</span><span style="color: #007700">;<br />   </span><span style="color: #0000BB">$req </span><span style="color: #007700">=</span><span style="color: #0000BB">cubrid_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">, </span><span style="color: #DD0000">"insert into person values(1,'James')"</span><span style="color: #007700">);<br /><br />   if (</span><span style="color: #0000BB">$req</span><span style="color: #007700">) {<br />      </span><span style="color: #0000BB">cubrid_close_request </span><span style="color: #007700">(</span><span style="color: #0000BB">$req</span><span style="color: #007700">);<br />      </span><span style="color: #0000BB">cubrid_commit </span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">);<br />   } else {<br />      </span><span style="color: #0000BB">cubrid_rollback </span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">);<br />   }<br />   </span><span style="color: #0000BB">cubrid_disconnect </span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">);<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.cubrid-pconnect-with-url-seealso">
  <h3 class="title">Ver también</h3>
  <ul class="simplelist">
   <li><span class="function"><a href="function.cubrid-connect.php" class="function" rel="rdfs-seeAlso">cubrid_connect()</a> - Abrir una conexi&oacute;n al servidor CUBRID</span></li>
   <li><span class="function"><a href="function.cubrid-connect-with-url.php" class="function" rel="rdfs-seeAlso">cubrid_connect_with_url()</a> - Establecer el entorno para la conexi&oacute;n al servidor de CUBRID</span></li>
   <li><span class="function"><a href="function.cubrid-pconnect.php" class="function" rel="rdfs-seeAlso">cubrid_pconnect()</a> - Establece una conexi&oacute;n persistente con un servidor CUBRID</span></li>
   <li><span class="function"><a href="function.cubrid-disconnect.php" class="function" rel="rdfs-seeAlso">cubrid_disconnect()</a> - Cerrar una conexi&oacute;n a una base de datos</span></li>
   <li><span class="function"><a href="function.cubrid-close.php" class="function" rel="rdfs-seeAlso">cubrid_close()</a> - Cerrar la conexi&oacute;n de CUBRID</span></li>
  </ul>
 </div>


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