Conexión a una base de datos Db2 en una aplicación PHP
Defina una conexión entre una aplicación PHP y la base de datos Db2, BLUDB.
Procedimiento
-
Escenario 1: Conexión desde fuera de IBM Cloud:
- Descargue elPaquete de controlador de Db2 desde consola web y, después, instale el paquete de controlador en la máquina donde se ejecutará la aplicación PHP.
- Verifique los requisitos previos y recopile credenciales y detalles de la base de datos.
-
Utilice odbc_connect function para conectarse a la base de datos BLUDB.
Ejemplo de código de PHP:
<?php $database = "BLUDB"; # Obtener estos detalles de la base de datos de $hostname = "<Host-name>"; # la consola web $user = "<User-ID >"; # $password = "<Password>"; # $port = 50000; # $ssl_port = 50001; # # Crear la serie de conexión # $driver = "DRIVER={IBM DB2 ODBC DRIVER};"; $dsn = "DATABASE=$database; " . "HOSTNAME=$hostname;" . "PORT=$port; " . "PROTOCOL=TCPIP; " . "UID=$user;" . "PWD=$password;"; $ssl_dsn = "DATABASE=$database; " . "HOSTNAME=$hostname;" . "PORT=$ssl_port; " . "PROTOCOL=TCPIP; " . "UID=$user;" . "PWD=$password;" . "SECURITY=SSL;"; $conn_string = $driver . $dsn; # No SSL $conn_string = $driver . $ssl_dsn; # SSL # Conectar # $conn = odbc_connect( $conn_string, "", "" ); if( $conn ) { echo "Conexión satisfactoria."; # Desconectar # odbc_close( $conn ); } else { echo "Conexión errónea."; } ?>Guardar este código PHP de ejemplo en un archivo de script llamado C:\sample.php y, después, ejecutar el script desde una línea de mandatos genera la salida siguiente:C:\> php –f sample.php Conexión satisfactoria.
- Escenario 2: Conexión desde una aplicación web PHP en IBM Cloud
- Desde el catálogo IBM Cloud, cree una nueva aplicación PHP.
- Desde la sección "Iniciación" de la nueva aplicación PHP en el panel de control de IBM Cloud, descargue el código de inicio de la aplicación en el directorio de trabajo local.
-
En el panel de control de IBM Cloud, cree una nueva conexión desde el servicio Db2 a la nueva aplicación PHP.
(La creación de esta conexión en IBM Cloud hace que la variable de entorno
VCAP_SERVICESesté disponible para la aplicación PHP. La variable de entornoVCAP_SERVICEScontiene detalles de la base de datos para el servicio Db2. El uso deVCAP_SERVICESes más práctico que la grabación en el código fuente de los detalles de la aplicación PHP. -
En el directorio de trabajo local, actualice el archivo index.php para conectarse a la base de datos BLUDB utilizando la función db2_connect.
Ejemplo:
<!DOCTYPE html> <html> <head> <title>Aplicación de inicio PHP</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" href="style.css" /> </head> <body> <?php if( getenv( "VCAP_SERVICES" ) ) { # Obtener detalles de base de datos de la variable de entorno VCAP_SERVICES # # *Esto solo puede funcionar si ha utilizado el panel de control Bluemix para # crear una conexión del servicio dashDB a la aplicación PHP. # $details = json_decode( getenv( "VCAP_SERVICES" ), true ); $dsn = $details [ "dashDB" ][0][ "credentials" ][ "dsn" ]; $ssl_dsn = $details [ "dashDB" ][0][ "credentials" ][ "ssldsn" ]; # Crear la serie de conexión # $driver = "DRIVER={IBM DB2 ODBC DRIVER};"; $conn_string = $driver . $dsn; # No SSL $conn_string = $driver . $ssl_dsn; # SSL $conn = db2_connect( $conn_string, "", "" ); if( $conn ) { echo "<p>Conexión satisfactoria</p>"; db2_close( $conn ); } else { echo "<p>Conexión errónea</p>"; } } else { echo "<p>Sin credenciales</p>"; } ?> </body> </html> - Desde el directorio de trabajo local, impulse las actualizaciones a IBM Cloud siguiendo las instrucciones de la sección "Iniciación" de la aplicación PHP en el panel de control de IBM Cloud. A continuación, reinicie la aplicación en IBM Cloud y consulte la aplicación en un navegador.