<?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-new-connect.php',
    1 => 'oci_new_connect',
    2 => 'Conexi&oacute;n al servidor Oracle utilizando una sola conexi&oacute;n',
  ),
  'up' => 
  array (
    0 => 'ref.oci8.php',
    1 => 'Funciones de OCI8',
  ),
  'prev' => 
  array (
    0 => 'function.oci-new-collection.php',
    1 => 'oci_new_collection',
  ),
  'next' => 
  array (
    0 => 'function.oci-new-cursor.php',
    1 => 'oci_new_cursor',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/oci8/functions/oci-new-connect.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.oci-new-connect" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">oci_new_connect</h1>
  <p class="verinfo">(PHP 5, PHP 7, PHP 8, PECL OCI8 &gt;= 1.1.0)</p><p class="refpurpose"><span class="refname">oci_new_connect</span> &mdash; <span class="dc-title">Conexión al servidor Oracle utilizando una sola conexión</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.oci-new-connect-description">
  <h3 class="title">Descripción</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>oci_new_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">$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 nueva conexión al servidor Oracle e identifica.
  </p>
  <p class="para">
   A diferencia de las funciones <span class="function"><a href="function.oci-connect.php" class="function">oci_connect()</a></span> y
   <span class="function"><a href="function.oci-pconnect.php" class="function">oci_pconnect()</a></span>, <span class="function"><strong>oci_new_connect()</strong></span>
   no almacena en caché las conexiones y siempre devuelve un manejador de conexión
   recién abierto. Esto es muy útil si la aplicación necesita aislamiento
   transaccional entre dos conjuntos de consultas.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.oci-new-connect-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 para el 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-new-connect-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 changelog" id="refsect1-function.oci-new-connect-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>8.0.0, PECL OCI8 3.0.0</td>
      <td>
       <code class="parameter">connection_string</code> ahora es nullable.
      </td>
     </tr>

    </tbody>
   
  </table>

 </div>


 <div class="refsect1 examples" id="refsect1-function.oci-new-connect-examples">
  <h3 class="title">Ejemplos</h3>
  <p class="para">
   A continuación se muestra cómo separar transacciones.
   <div class="example" id="example-1">
    <p><strong>Ejemplo #1 Ejemplo con <span class="function"><strong>oci_new_connect()</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">// Creación de la tabla mytab (mycol number);<br /><br /></span><span style="color: #007700">function </span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #0000BB">$name</span><span style="color: #007700">, </span><span style="color: #0000BB">$c</span><span style="color: #007700">)<br />{<br />    echo </span><span style="color: #DD0000">"Querying </span><span style="color: #0000BB">$name</span><span style="color: #DD0000">\n"</span><span style="color: #007700">;<br />    </span><span style="color: #0000BB">$s </span><span style="color: #007700">= </span><span style="color: #0000BB">oci_parse</span><span style="color: #007700">(</span><span style="color: #0000BB">$c</span><span style="color: #007700">, </span><span style="color: #DD0000">"select * from mytab"</span><span style="color: #007700">);<br />    </span><span style="color: #0000BB">oci_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$s</span><span style="color: #007700">, </span><span style="color: #0000BB">OCI_NO_AUTO_COMMIT</span><span style="color: #007700">);<br />    </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">$s</span><span style="color: #007700">, </span><span style="color: #0000BB">OCI_ASSOC</span><span style="color: #007700">);<br />    if (!</span><span style="color: #0000BB">$row</span><span style="color: #007700">) {<br />        echo </span><span style="color: #DD0000">"No rows\n"</span><span style="color: #007700">;<br />    } else {<br />        do {<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: #0000BB">$item </span><span style="color: #007700">. </span><span style="color: #DD0000">" "</span><span style="color: #007700">;<br />            echo </span><span style="color: #DD0000">"\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">$s</span><span style="color: #007700">, </span><span style="color: #0000BB">OCI_ASSOC</span><span style="color: #007700">)) != </span><span style="color: #0000BB">false</span><span style="color: #007700">);<br />    }<br />}<br /><br /></span><span style="color: #0000BB">$c1 </span><span style="color: #007700">= </span><span style="color: #0000BB">oci_connect</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/orcl"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$c2 </span><span style="color: #007700">= </span><span style="color: #0000BB">oci_new_connect</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/orcl"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$s </span><span style="color: #007700">= </span><span style="color: #0000BB">oci_parse</span><span style="color: #007700">(</span><span style="color: #0000BB">$c1</span><span style="color: #007700">, </span><span style="color: #DD0000">"insert into mytab values(1234)"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">oci_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$s</span><span style="color: #007700">, </span><span style="color: #0000BB">OCI_NO_AUTO_COMMIT</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"basic connection"</span><span style="color: #007700">, </span><span style="color: #0000BB">$c1</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"new connection"</span><span style="color: #007700">, </span><span style="color: #0000BB">$c2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">oci_commit</span><span style="color: #007700">(</span><span style="color: #0000BB">$c1</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"new connection after commit"</span><span style="color: #007700">, </span><span style="color: #0000BB">$c2</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Muestra:<br />//   Querying basic connection<br />//   1234<br />//   Querying new connection<br />//   No rows<br />//   Querying new connection after commit<br />//   1234<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 seealso" id="refsect1-function.oci-new-connect-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-pconnect.php" class="function" rel="rdfs-seeAlso">oci_pconnect()</a> - Establece una conexi&oacute;n persistente a un servidor Oracle</span></li>
   </ul>
  </p>
 </div>


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