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

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

 </div>

 <div class="refsect1 parameters" id="refsect1-function.db2-connect-parameters">
  <h3 class="title">Parámetros</h3>
  <dl>
   
    <dt><code class="parameter">database</code></dt>
    <dd>
     <span class="simpara">
      Para una conexión catalogada de la base de datos, <code class="parameter">database</code>
      representa el alias de la base de datos en el catálogo cliente DB2
     </span>
     <p class="para">
      Para una conexión no catalogada de la base de datos, <code class="parameter">database</code>
      representa una cadena completa de conexión que está en el formato
      siguiente :
      <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 en 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">
          La dirección Internet o IP del servidor de 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
          conexiones.
         </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>
     <span class="simpara">
      Para las conexiones no catalogadas, debe pasar un valor
      <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> o una cadena vacía.
     </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>
     <span class="simpara">
      Para las conexiones no catalogadas, debe pasar un valor
      <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> o una cadena vacía.
     </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">
      La siguiente nueva opción está disponible para las versiones ibm_db2 1.7.0 y
      posteriores.
      <dl>
       
        <dt><code class="parameter">trustedcontext</code></dt>
        <dd>
         <span class="simpara">
          Pasar el valor DB2_TRUSTED_CONTEXT_ENABLE activa el contexto para este gestor de conexión. Este parámetro no puede ser definido con la función <span class="function"><a href="function.db2-set-option.php" class="function">db2_set_option()</a></span>.
         </span>
         <span class="simpara">
          Esta clave solo funciona si la base de datos está catalogada
          (incluso si la base de datos es local), o si se especifica el DSN completo
          al crear la conexión.
         </span>
         <span class="simpara">
          Para catalogar la base de datos, utilice los siguientes comandos :
         </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 nuevas opciones i5/OS están disponibles en las versiones
      ibm_db2 1.5.1 y posteriores.
      <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 a los ficheros no calificados.
          Esto no es válido si la conexión utiliza un modo de sistema de
          nombres.
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_naming</code></dt>
        <dd>
         <span class="simpara">
          El valor <code class="literal">DB2_I5_NAMING_ON</code> activa el modo sistema de nombres DB2 UDB CLI
          iSeries. Los ficheros son calificados utilizando el delimitador barra (/). Los ficheros no calificados son
          resueltos utilizando la lista de bibliotecas para el trabajo.
         </span>
         <span class="simpara">
          El valor <code class="literal">DB2_I5_NAMING_OFF</code> desactiva el modo de nombres por defecto de DB2 UDB
          CLI, que es la escritura SQL. Los ficheros son calificados utilizando el delimitador punto (.). Los ficheros
          no calificados son resueltos utilizando la biblioteca por defecto o el ID del usuario actual.
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_commit</code></dt>
        <dd>
         <span class="simpara">
          El atributo <code class="parameter">i5_commit</code> debe ser fijado antes
          de la llamada a <span class="function"><strong>db2_connect()</strong></span>. Si el valor es
          cambiado después de que la conexión haya sido establecida y la conexión
          es a una fuente de datos remota, el cambio solo tendrá efecto en la próxima
          llamada a <span class="function"><strong>db2_connect()</strong></span>.
         </span>
         <blockquote class="note"><p><strong class="note">Nota</strong>: 
           <span class="simpara">
           La configuración php.ini <code class="parameter">ibm_db2.i5_allow_commit</code>==0
           o <code class="literal">DB2_I5_TXN_NO_COMMIT</code> es por defecto, pero
           puede ser derivada con la opción <code class="parameter">i5_commit</code>.
           </span>
         </p></blockquote>
         <span class="simpara">
          <code class="literal">DB2_I5_TXN_NO_COMMIT</code> : no se utiliza el control de envío.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_TXN_READ_UNCOMMITTED</code> : lectura antigua,
          lectura no repetitiva y ficticia es posible.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_TXN_READ_COMMITTED</code> : lectura antigua no
          posible. La lectura repetitiva y ficticia es posible.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_TXN_REPEATABLE_READ</code> : lectura antigua y
          no repetitiva no es posible. Lectura ficticia es posible.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_TXN_SERIALIZABLE</code> : las transacciones son
          serializadas. Lectura antigua, no repetitiva y ficticia no es
          posible.
         </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 tan rápido
           como sea posible. Este objetivo funciona bien cuando la visualización es
           controlada por un usuario que puede cancelar una consulta después
           de ver la primera página de los datos. Las consultas son codificadas
           con una cláusula <code class="literal">&quot;OPTIMIZE nnn ROWS&quot;</code> para
           cumplir el objetivo especificado por la cláusula.
         </span>
         <span class="simpara">
          <code class="literal">DB2_ALL_IO</code> Todas las consultas son optimizadas
          con el objetivo de devolver la consulta completa en el menor
          intervalo de tiempo. Esta es una buena opción cuando la visualización
          de una consulta está siendo escrita hacia un fichero o un informe o
          cuando la interfaz pone en cola los datos. Las consultas son codificadas
          con una cláusula <code class="literal">&quot;OPTIMIZE FOR nnn ROWS&quot;</code> para
          cumplir el objetivo especificado por la cláusula. Esta es la operación por
          defecto.
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_dbcs_alloc</code></dt>
        <dd>
         <span class="simpara">
          El valor <code class="literal">DB2_I5_DBCS_ALLOC_ON</code> activa el esquema
          de asignación DB2 6X para el incremento de los tamaños de columnas.
         </span>
         <span class="simpara">
          El valor <code class="literal">DB2_I5_DBCS_ALLOC_OFF</code> desactiva el
          esquema de asignación DB2 6X para el incremento de los tamaños de columnas.
         </span>
         <span class="simpara">
          Nota : la configuración <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 por defecto pero puede
          ser derivada con la opción <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> : se utiliza el formato de fecha de la organización internacional de
          normalización (ISO) <code class="literal">&quot;yyyy-mm-dd&quot;</code>. Este es el valor por
          defecto.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_USA</code> : se utiliza el formato de fecha de
          los Estados Unidos <code class="literal">&quot;mm/dd/yyyy&quot;</code>.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_EUR</code> : se utiliza el formato de fecha Europeo
          <code class="literal">&quot;dd.mm.yyyy&quot;</code>.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_JIS</code> : se utiliza el formato de fecha de
          la industria japonesa de estándares <code class="literal">&quot;yyyy-mm-dd&quot;</code>.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_MDY</code> : se utiliza el formato de fecha <code class="literal">&quot;mm/dd/yyyy&quot;</code>.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_DMY</code> : se utiliza el formato de fecha <code class="literal">&quot;dd/mm/yyyy&quot;</code>.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_YMD</code> : se utiliza el formato de fecha <code class="literal">&quot;yy/mm/dd&quot;</code>.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_JUL</code> : se utiliza el formato de fecha Juliano <code class="literal">&quot;yy/ddd&quot;</code>.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_JOB</code> : se utiliza el valor por defecto.
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_date_sep</code></dt>
        <dd>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_SLASH</code> : se utiliza una barra ( / ) como
          separador de fecha.
          Este es el valor por defecto.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_DASH</code> : se utiliza un guión ( - ) como
          separador de fecha.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_PERIOD</code> : se utiliza un punto ( . ) como
          separador de fecha.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_COMMA</code> : se utiliza una coma ( , ) como
          separador de fecha.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_BLANK</code> : se utiliza un espacio en blanco como
          separador de fecha.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_JOB</code> : se utiliza el valor por defecto.
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_time_fmt</code></dt>
        <dd>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_ISO</code> : se utiliza el formato de hora de
          la organización internacional de normalización <code class="literal">&quot;hh.mm.ss&quot;</code>. Este es el valor por
          defecto.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_USA</code> : se utiliza el formato de hora de
          los Estados Unidos <code class="literal">&quot;hh:mmxx&quot;</code>, donde <code class="literal">&quot;xx&quot;</code>
          vale <code class="literal">&quot;AM&quot;</code> o <code class="literal">&quot;PM&quot;</code>.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_EUR</code> : se utiliza el formato de hora Europeo
          <code class="literal">&quot;hh.mm.ss&quot;</code>.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_JIS</code> : se utiliza el formato de hora de
          la industria japonesa de estándares <code class="literal">&quot;hh:mm:ss&quot;</code>.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_FMT_HMS</code> : se utiliza el formato <code class="literal">&quot;hh:mm:ss&quot;</code>.
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_time_sep</code></dt>
        <dd>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_COLON</code> : se utiliza un dos puntos ( : ) como
          separador de tiempo. Este es el valor por defecto.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_PERIOD</code> : se utiliza un punto ( . ) como
          separador de tiempo.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_COMMA</code> : se utiliza una coma ( , ) como
          separador de tiempo.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_BLANK</code> : se utiliza un espacio en blanco como
          separador de tiempo.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_JOB</code> : se utiliza el valor por defecto.
         </span>
        </dd>
       
       
        <dt><code class="parameter">i5_decimal_sep</code></dt>
        <dd>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_PERIOD</code> : se utiliza un punto ( . ) como
          separador decimal. Este es el valor por defecto.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_COMMA</code> : se utiliza una coma ( , ) como
          separador decimal.
         </span>
         <span class="simpara">
          <code class="literal">DB2_I5_SEP_JOB</code> : se utiliza el valor por defecto.
         </span>
        </dd>
       
      </dl>
     </p>
     <p class="para">
      La siguiente nueva opción i5/OS está disponible desde la versión ibm_db2
      1.8.0 y posteriores.
      <dl>
       
        <dt><code class="parameter">i5_libl</code></dt>
        <dd>
         <span class="simpara">
          Una cadena que indica la lista a utilizar para resolver las referencias
          de ficheros no calificados. Especifique la lista separando los
          valores con un espacio, como sigue : &#039;i5_libl&#039;=&gt;&quot;MYLIB YOURLIB ANYLIB&quot;.
         </span>
         <blockquote class="note"><p><strong class="note">Nota</strong>: 
          <span class="simpara">
           <code class="parameter">i5_libl</code> llama a <code class="literal">qsys2/qcmdexc(&#039;cmd&#039;,cmdlen)</code>,
           que solo está disponible desde 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">Valores devueltos</h3>
  <p class="simpara">
   Devuelve el recurso de conexión si la tentativa de conexión tiene éxito. Si
   la tentativa de conexión falla, <span class="function"><strong>db2_connect()</strong></span> devuelve
   <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">Ejemplos</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Ejemplo #1 Creación de una conexión catalogada</strong></p>
    <div class="example-contents"><p>
     Las conexiones catalogadas requieren que haya catalogado previamente la base de datos
     especificada utilizando el procesador de línea de comandos DB2 (<code class="literal">&quot;Command Line Processor&quot;</code> : cLP) o con el asistente de configuración 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">'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">$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">"Conexión exitosa."</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">"Conexión 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 exitosa.</pre>
</div>
    </div>
   </div>
   <div class="example" id="example-2">
    <p><strong>Ejemplo #2 Creación de una conexión no catalogada</strong></p>
    <div class="example-contents"><p>
     Una conexión no catalogada permite conectarse dinámicamente
     a una base de datos.
    </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 /></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">"Conexión exitosa."</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">"Conexión 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 exitosa.</pre>
</div>
    </div>
   </div>
   <div class="example" id="example-3">
    <p><strong>Ejemplo #3 Creación de una conexión con autocommit desactivado por defecto</strong></p>
    <div class="example-contents"><p>
     Pasar un array de opciones a <span class="function"><strong>db2_connect()</strong></span>
     permite modificar el comportamiento por defecto de la 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 /></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">"Conexión exitosa.\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á activado.\n"</span><span style="color: #007700">;<br />    }<br />    else {<br />         echo </span><span style="color: #DD0000">"Autocommit está desactivado.\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">"Conexión 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 exitosa.
Autocommit está desactivado.</pre>
</div>
    </div>
   </div>

   <div class="example" id="example-4">
    <p><strong>Ejemplo #4 Mejor rendimiento i5/OS</strong></p>
    <div class="example-contents"><p>
     Para lograr utilizar el mejor rendimiento de su i5/OS ibm_db2
     1.5.1, la aplicación PHP utiliza el host por defecto, el userid y la contraseña para su <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>El ejemplo anterior mostrará:</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>Ejemplo #5 Utilización del contexto</strong></p>
    <div class="example-contents"><p>
     El siguiente ejemplo muestra cómo activar el contexto, cambiar de usuario
     y recuperar el ID del usuario actual.
    </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">"Conexión de confianza explícita 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">//Código como 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">//Código 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">"El usuario ha 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">"El cambio de contexto de conexión ha fallado.\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">El cambio de contexto de conexión ha fallado.
El usuario ha cambiado.</pre>
</div>
    </div>
   </div>
  </p>
 </div>


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


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