<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/pdo.drivers.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'ref.pdo-odbc.php',
    1 => 'Controladores PDO ODBC y DB2',
    2 => 'Funciones del controlador PDO ODBC y DB2 (PDO_ODBC)',
  ),
  'up' => 
  array (
    0 => 'pdo.drivers.php',
    1 => 'Controladores PDO',
  ),
  'prev' => 
  array (
    0 => 'ref.pdo-oci.connection.php',
    1 => 'PDO_OCI DSN',
  ),
  'next' => 
  array (
    0 => 'ref.pdo-odbc.connection.php',
    1 => 'PDO_ODBC DSN',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/pdo_odbc/reference.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/ref.pdo-odbc.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="ref.pdo-odbc" class="reference">
  
  <h1 class="title">Funciones del controlador PDO ODBC y DB2 (PDO_ODBC)</h1>
  
  <div class="partintro">

   <div class="section" id="ref.pdo-odbc.intro">
   <h2 class="title">Introducción</h2>
    <p class="para">
     PDO_ODBC es un controlador que implementa la <a href="book.pdo.php#intro.pdo" class="link">PHP Data
     Objects (PDO)</a>
     para permitir el acceso de PHP a las bases de datos mediante los controladores de ODBC
     o mediante la biblioteca de interfaz IBM DB2 Call Level (DB2 CLI). PDO_ODBC
     actualmente soporta tres &quot;sabores&quot; diferentes de los controladores de bases de
     datos:
     <dl>
      
       <dt>ibm-db2</dt>
       <dd>
        <p class="para">
         Permite el acceso a IBM DB2 Universal Database,
         Cloudscape y Apache Derby Server utilizando el cliente gratuito DB2 express-C.
        </p>
       </dd>
      
      
       <dt>unixODBC</dt>
       <dd>
        <p class="para">
         Permite el acceso a los servidores de bases de datos mediante el controlador
         de gestión unixODBC y las bases de datos poseídas por los controladores
         ODBC.
        </p>
       </dd>
      
      
       <dt>generic</dt>
       <dd>
        <p class="para">
         Ofrece una opción de compilación para los controladores de gestión ODBC que
         no son explícitamente soportados por PDO_ODBC.
        </p>
       </dd>
      
     </dl>
    </p>
    <p class="para">
     En Windows, <var class="filename">php_pdo_odbc.dll</var> debe ser activado como extensión en <var class="filename">php.ini</var>. Está vinculado con el Windows ODBC Driver Manager, por lo que PHP puede
     conectarse a cualquier base de datos catalogada como un System DSN.
    </p>
   </div>

   
   




<div class="section" id="ref.pdo-odbc.installation">
 <h2 class="title">Instalación</h2>
 <div class="procedure">
  <strong class="title">PDO_ODBC en sistemas UNIX</strong>
  <ol type="1"><li>
   <p class="para">
    PDO_ODBC está incluido en las fuentes de PHP. Puede compilarse la extensión PDO_ODBC ya sea de forma estática o como módulo compartido utilizando los siguientes comandos <strong class="command">configure</strong>.
    <dl>
     
      <dt>ibm_db2</dt>
      <dd>
       <p class="para">
        <div class="example-contents screen">
<div class="cdata"><pre>
./configure --with-pdo-odbc=ibm-db2,/opt/IBM/db2/V8.1/
</pre></div>
        </div>
        Para construir PDO_ODBC con el sabor ibm-db2, deben haberse instalado previamente los encabezados de desarrollo de la aplicación DB2 en la misma máquina donde se compila PDO_ODBC. Los encabezados de desarrollo de la aplicación DB2 son una opción de instalación en los servidores DB2 y también están disponibles como parte de DB2 Application Development Client
        gratuitamente disponibles para descarga desde el IBM developerWorks
        <a href="https://www.ibm.com/developerworks/downloads/im/db2express/index.html" class="link external">&raquo;&nbsp;sitio</a>.
       </p>
       <p class="para">
        Si no se especifica una ubicación para las bibliotecas y los encabezados de DB2 en el comando <strong class="command">configure</strong>, PDO_ODBC tomará por omisión
        <var class="filename">/home/db2inst1/sqllib</var>.
       </p>
      </dd>
     
     
      <dt>unixODBC</dt>
      <dd>
       <p class="para">
        <div class="example-contents screen">
<div class="cdata"><pre>
./configure --with-pdo-odbc=unixODBC,/usr/local
</pre></div>
        </div>
        Si no se especifica una ubicación para las bibliotecas y los encabezados de unixODBC en el comando <strong class="command">configure</strong>, PDO_ODBC tomará por omisión
        <var class="filename">/usr/local</var>.
       </p>
      </dd>
     
     
      <dt>generic</dt>
      <dd>
       <div class="example-contents screen">
<div class="cdata"><pre>
./configure --with-pdo-odbc=generic,/usr/local,libname,ldflags,cflags
</pre></div>
       </div>
      </dd>
     
    </dl>
   </p>
  </li>
 </ol></div>
</div>



   
   


<div class="section" id="pdo-odbc.global.constants">
 <h2 class="title">Constantes predefinidas</h2>
 <p class="simpara">Las constantes a continuación son
definidas por este controlador y solo estarán disponibles cuando la extensión
haya sido compilada en PHP o cargada dinámicamente del motor de ejecución.
Además, estas constantes específicas del controlador deberían ser usadas solo
si se usa este controlador. Usar atributos específicos de un controlador
con otro controlador podría causar un comportamiento inesperado.
<span class="function"><a href="pdo.getattribute.php" class="function">PDO::getAttribute()</a></span> podría ser usado para obtener
el atributo <strong><code><a href="pdo.constants.php#pdo.constants.attr-driver-name">PDO::ATTR_DRIVER_NAME</a></code></strong> para verificar el
controlador, si su código puede funcionar en múltiples controladores.</p>
 <dl>
  
   <dt id="constant.pdo-odbc-type">
    <strong><code><a href="ref.pdo-odbc.php#constant.pdo-odbc-type">PDO_ODBC_TYPE</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <p class="para">

    </p>
   </dd>
  
  
   <dt id="pdo.constants.odbc-attr-use-cursor-library">
    <strong><code><a href="ref.pdo-odbc.php#pdo.constants.odbc-attr-use-cursor-library">PDO::ODBC_ATTR_USE_CURSOR_LIBRARY</a></code></strong>
     (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Alias de <strong><code><a href="class.pdo-odbc.php#pdo-odbc.constants.attr-use-cursor-library">Pdo\Odbc::ATTR_USE_CURSOR_LIBRARY</a></code></strong>.
    </span>
   </dd>
  
  
   <dt id="pdo.constants.odbc-sql-use-if-needed">
    <strong><code><a href="ref.pdo-odbc.php#pdo.constants.odbc-sql-use-if-needed">PDO::ODBC_SQL_USE_IF_NEEDED</a></code></strong>
    (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Alias de <strong><code><a href="class.pdo-odbc.php#pdo-odbc.constants.sql-use-if-needed">Pdo\Odbc::SQL_USE_IF_NEEDED</a></code></strong>.
    </span>
   </dd>
  
  
   <dt id="pdo.constants.odbc-sql-use-driver">
    <strong><code><a href="ref.pdo-odbc.php#pdo.constants.odbc-sql-use-driver">PDO::ODBC_SQL_USE_DRIVER</a></code></strong>
    (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Alias de <strong><code><a href="class.pdo-odbc.php#pdo-odbc.constants.sql-use-driver">Pdo\Odbc::SQL_USE_DRIVER</a></code></strong>.
    </span>
   </dd>
  
  
   <dt id="pdo.constants.odbc-sql-use-odbc">
    <strong><code><a href="ref.pdo-odbc.php#pdo.constants.odbc-sql-use-odbc">PDO::ODBC_SQL_USE_ODBC</a></code></strong>
    (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Alias de <strong><code><a href="class.pdo-odbc.php#pdo-odbc.constants.sql-use-odbc">Pdo\Odbc::SQL_USE_ODBC</a></code></strong>.
    </span>
   </dd>
  
  
   <dt id="pdo.constants.odbc-attr-assume-utf8">
    <strong><code><a href="ref.pdo-odbc.php#pdo.constants.odbc-attr-assume-utf8">PDO::ODBC_ATTR_ASSUME_UTF8</a></code></strong>
     (<span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Alias de <strong><code><a href="class.pdo-odbc.php#pdo-odbc.constants.attr-assume-utf8">Pdo\Odbc::ATTR_ASSUME_UTF8</a></code></strong>.
    </span>
   </dd>
  
 </dl>
</div>



  
   




<div class="section" id="pdo-odbc.configuration">
 <h2 class="title">Configuración en tiempo de ejecución</h2>
 <p class="simpara">El comportamiento de estas funciones es
afectado por la configuración en el archivo <var class="filename">php.ini</var>.</p>
 <p class="para">
  <table class="doctable table">
   <caption><strong>Opciones de configuración de PDO_ODBC</strong></caption>
   
    <thead>
     <tr>
      <th>Nombre</th>
      <th>Por defecto</th>
      <th>Cambiable</th>
      <th>Historial de cambios</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td><a href="ref.pdo-odbc.php#ini.pdo-odbc.connection-pooling" class="link">pdo_odbc.connection_pooling</a></td>
      <td>&quot;strict&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="ref.pdo-odbc.php#ini.pdo-odbc.db2-instance-name" class="link">pdo_odbc.db2_instance_name</a></td>
      <td>NULL</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>Esta funcionalidad obsoleta <em>será</em>
ciertamente <em>eliminada</em> en el futuro.</td>
     </tr>

    </tbody>
   
  </table>

  Para más detalles sobre los modos INI_*,
        refiérase a <a href="configuration.changes.modes.php" class="xref">D&oacute;nde una directiva de configuraci&oacute;n puede ser modificada</a>.
 </p>

 <p class="para">Aquí hay una aclaración sobre
el uso de las directivas de configuración.</p>

 <p class="para">
  <dl>
   
    <dt id="ini.pdo-odbc.connection-pooling">
     <code class="parameter">pdo_odbc.connection_pooling</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      Si agrupar conexiones de ODBC. Se puede usar <code class="literal">&quot;strict&quot;</code>,
      <code class="literal">&quot;relaxed&quot;</code> o <code class="literal">&quot;off&quot;</code> (que es igual a
      <code class="literal">&quot;&quot;</code>). El parámetro describe cómo de estricta debería ser el
      administrador de conexiones cuando coincidan los parámetros de conexión con conexiones
      existentes en la agrupación.  <strong class="userinput"><code>strict</code></strong> es el valor predetermiando recomendado, y
      dará como resultado en el uso de conexiones almacenadas en caché solamente cuando todos los
      parámetros de conexión coincidan exactamente.  <strong class="userinput"><code>relaxed</code></strong> dará como
      resultado el uso de conexiones almacenadas en caché cuando se utilicen parámetros de conexión
      similares. Esto puede resultar en el aumento del uso de la caché, con el riesgo de
      perder información de conexión entre (por ejemplo) hosts virtuales.
     </p>
     <p class="para">
      Este ajuste solamente se puede cambiar desde el fichero <var class="filename">php.ini</var>,
      y afecta al proceso completo; cualquier otro módulo dentro del proceso
      que utilice las mismas bibliotecas de ODBC también se verá afectado,
      incluyendo la <a href="ref.uodbc.php" class="link">Extensión ODBC Unificada</a>.
     </p>
     <div class="warning"><strong class="warning">Advertencia</strong>
      <p class="para">
       <strong class="userinput"><code>relaxed</code></strong> no debería usarse en servidores
       compartidos, por razones de seguridad.
      </p>
     </div>
     <div class="tip"><strong class="tip">Sugerencia</strong>
      <p class="para">
       Deje este ajuste a la configuración <strong class="userinput"><code>strict</code></strong> predeterminada
       a menos que tenga una buena razón para cambiarlo.
      </p>
     </div>
    </dd>
  
  
   <dt id="ini.pdo-odbc.db2-instance-name">
    <code class="parameter">pdo_odbc.db2_instance_name</code>
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
   </dt>
   <dd>
    <p class="para">
     Si se compila PDO_ODBC usando el sabor <code class="literal">db2</code>,
     este ajuste establece el valor de la variable de entorno DB2INSTANCE en
     sistemas operativos Linux y UNIX al nombre especificado de la instancia
     de DB2. También habilita PDO_ODBC para resolver la ubicación de las bibliotecas
     de DB2 y realizar conexiones catalogadas a bases de datos DB2.
    </p>
    <p class="para">
     Este ajuste solamente se puede cambiar desde el fichero <var class="filename">php.ini</var>,
     y afecta al proceso completo; cualquier otro módulo dentro del proceso
     que utilice las mismas bibliotescas de ODBC también se verá afectado,
     incluyendo la <a href="ref.uodbc.php" class="link">Extensión ODBC Unificada</a>.
    </p>
    <p class="para">
     Este ajuste no tiene efecto en Windows.
    </p>
   </dd>
  

 </dl>
 </p>
</div>



  </div>

  

 <h2>Tabla de contenidos</h2><ul class="chunklist chunklist_reference"><li><a href="ref.pdo-odbc.connection.php">PDO_ODBC DSN</a> — Conexi&oacute;n a bases de datos ODBC o DB2</li></ul>
</div>
<?php manual_footer($setup); ?>