PDO_IBM es un driver que implementa la interfaz
PHP Data Objects
(PDO) para habilitar el acceso
desde PHP a las bases de datos IBM.
Para compilar la extensión PDO_IBM, el cliente DB2 v9.1 o superior debe ser instalado en el mismo sistema que PHP. El cliente DB2 puede ser descargado desde el sitio de IBM de » desarrollo de aplicaciones.
Nota: Nota
El cliente DB2 v9.1 o superior soporta los accesos directos a DB2 para los sistemas Linux, UNIX y los servidores Windows v8 y v9.1.
El cliente DB2 v9.1 soporta asimismo los accesos a DB2 UDB para i5 y DB2 UDB para los servidores z/OS utilizando el » producto de conexión DB2 de pago.
PDO_IBM es una extensión » PECL; por lo tanto, las instrucciones de Instalación de extensiones PECL deben ser seguidas para instalar la extensión PDO_IBM. Ejecute el comando configure para que apunte hacia el directorio que contiene los ficheros de encabezado y las bibliotecas del cliente DB2 de la siguiente manera:
bash$ ./configure --with-pdo-ibm=/path/to/sqllib[,shared]
El comportamiento de estas funciones se ve afectado por la configuración de php.ini.
Nombre | Por defecto | Cambiable | Historial de cambios |
---|---|---|---|
pdo_ibm.i5_dbcs_alloc | "0" | INI_SYSTEM |
Añadido en PDO_IBM 1.5.0 |
pdo_ibm.i5_override_ccsid | "0" | INI_SYSTEM |
Añadido en PDO_IBM 1.5.0 |
He aquí una breve explicación de las directivas de configuración.
pdo_ibm.i5_dbcs_alloc
int
Esta opción afecta a la estrategia de asignación de memoria interna en IBM i. Por omisión, esta opción es 0. Cuando esta opción está definida, se asignan búferes con un tamaño mucho mayor, por si la base de datos engañara sobre el tamaño de los caracteres durante la conversión entre codificaciones. Esta opción utiliza seis veces más memoria para los búferes (para tener en cuenta las secuencias UTF-8 más largas), pero puede ser necesaria si se devuelven datos truncados.
0 - Se asigna el tamaño mínimo de los búferes.
1 - Se asigna un tamaño mayor de los búferes.
pdo_ibm.i5_override_ccsid
int
El CCSID ASCII a utilizar para la conversión de EBCDIC en IBM i. Al definirlo como 1208, se utilizará UTF-8. Por omisión es 0, lo que seleccionará el CCSID ASCII de trabajo predeterminado.
Para obtener más información sobre los CCSID en IBM i, consulte la » documentación de IBM.