PDO_ODBC es un controlador que implementa la interfaz de Objetos de datos de PHP (PDO) para habilitar el acceso desde PHP a bases de datos a través de contorladores ODBC o de la biblioteca IBM DB2 Call Level Interface (DB2 CLI). PDO_ODBC admite actualmente tres "sabores" diferentes de controladores de bases de datos:
Da soporte para el acceso a servidores de IBM DB2 Universal Database, Cloudscape, y Apache a través del cliente gratuito DB2.
Da soporte para el acceso a servidores de bases de datos a través del administrador de gestores de unixODBC y de los controladores de ODBC proppietarios de bases de datos.
Ofrece una opción de compilación para los administradores de gestores de ODBC que no están admitidos explícitamente pore PDO_ODBC.
En Windows, PDO_ODBC está construido dentor del núcleo de PHP de manera predeterminada. Está vinculado con Windows ODBC Driver Manager, por lo que PHP puede conectarse a cualquier base de datos catalogada en un DSN de sistema, y es el controlador recomendado para conectarse a bases de datos de Microsoft SQL Server.
A partir de PHP 5.1, PDO_ODBC está incluido en los ficheros fuente de PHP. Se puede compilar la extensión PDO_ODBC como un módulo estático o compartido usando los siguientes comandos configure.
./configure --with-pdo-odbc=ibm-db2,/opt/IBM/db2/V8.1/
Si no se proporciona una ubicación para las bibliotecas y cabeceras de DB2 al comando configure, PDO_ODBC usará como valor predeterminado /home/db2inst1/sqllib.
./configure --with-pdo-odbc=unixODBC,/usr/local
./configure --with-pdo-odbc=generic,/usr/local,libname,ldflags,cflags
El comportamiento de estas funciones se ve afectado por la configuración de php.ini.
Nombre | Por defecto | Cambiable | Historial de cambios |
---|---|---|---|
pdo_odbc.connection_pooling | "strict" | PHP_INI_ALL | Disponible desde PHP 5.1.0. |
pdo_odbc.db2_instance_name | NULL | PHP_INI_SYSTEM | Disponible desde PHP 5.1.1. Esta característica obsoleta será eliminada con certeza en el futuro. |
He aquí una breve explicación de las directivas de configuración.
pdo_odbc.connection_pooling
string
Si agrupar conexiones de ODBC. Se puede usar "strict",
"relaxed" o "off" (que es igual a
""). 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. strict
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. relaxed
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.
Este ajuste solamente se puede cambiar desde el fichero php.ini, 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 Extensión ODBC Unificada.
relaxed
no debería usarse en servidores
compartidos, por razones de seguridad.
Deje este ajuste a la configuración strict
predeterminada
a menos que tenga una buena razón para cambiarlo.
pdo_odbc.db2_instance_name
string
Si se compila PDO_ODBC usando el sabor db2, 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.
Este ajuste solamente se puede cambiar desde el fichero php.ini, 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 Extensión ODBC Unificada.
Este ajuste no tiene efecto en Windows.