Documentación GVHIDRA 3.1.5
Referencia de la Clase IgepDBMS_oci8
Diagrama de herencias de IgepDBMS_oci8
IgepDBMS

Métodos públicos

 preConexion ($p_dsn)
 postConexion ($p_conexion)
 isLocked ($result)
 backSlashScape ()

Métodos públicos estáticos

 caracteresNumericos ($p_dsn)
 mascaraFechas ($p_dsn)
 obtenerSecuenciaBD ($sequence)

Descripción detallada

Definición en la línea 11 del archivo IgepDBMS_oci8.php.


Documentación de las funciones miembro

backSlashScape ( )

Devuelve la cadena que se debe utilizar para escapar la contrabarra

En Oracle no utilizamos dicha cadena, en Postgres y MySql si

public

Devuelve:
string

Reimplementado de IgepDBMS.

Definición en la línea 110 del archivo IgepDBMS_oci8.php.

                                  {

    return "\\";
  }
caracteresNumericos ( p_dsn) [static]

Indica los carcteres usados para esta conexin (separador decimal y de miles)

public

Parámetros:
mixeddsn que utiliza pear:db para la conexin
Devuelve:
mixed array asociativo con entrada 'DECIMAL' y 'GROUP'

Reimplementado de IgepDBMS.

Definición en la línea 62 del archivo IgepDBMS_oci8.php.

                                      {
        return array('DECIMAL'=>'.','GROUP'=>'');
  }
isLocked ( result)

Devuelve si el objeto de error es debido a que la(s) fila(s) no se puede(n) bloquear [Native code: 54[Native message: ORA-00054: resource busy and acquire with NOWAIT specified

public

Parámetros:
resultobjeto error de IgepError
Devuelve:
boolean

Reimplementado de IgepDBMS.

Definición en la línea 98 del archivo IgepDBMS_oci8.php.

                            {
    return (strpos($result,'[Native code: 54[')!==false);
  }
mascaraFechas ( p_dsn) [static]

Indica la mscara de fechas utilizada para esta conexin

public

Parámetros:
mixeddsn que utiliza pear:db para la conexin
Devuelve:
string que indica la mascara de fechas utilizada.

Reimplementado de IgepDBMS.

Definición en la línea 74 del archivo IgepDBMS_oci8.php.

                                {
    return 'j/n/Y';
  }
obtenerSecuenciaBD ( sequence) [static]

Devuelve la cadena SQL que permite obtener el valor de una secuencia de BD

public

Parámetros:
stringsequence cadena que contiene el nombre de la secuencia.
Devuelve:
string

Reimplementado de IgepDBMS.

Definición en la línea 86 del archivo IgepDBMS_oci8.php.

                                        {
    return 'SELECT '.$sequence.'.NextVal as "nextval" from DUAL';
  }
postConexion ( p_conexion)

Acciones realizadas:

  • Fija el formato por defecto de las fechas
  • Fijar el idioma espaol (no porque de momento ya se ha configurado el servidor en espaol)
  • Registrar la sesin en oracle
    Parámetros:
    conexionrecibe una conexin establecida

Reimplementado de IgepDBMS.

Definición en la línea 31 del archivo IgepDBMS_oci8.php.

                                    {
    $query = 'alter session set nls_date_format=\'dd/mm/yyyy hh24:mi:ss\'';
    $result = $p_conexion->exec($query);
    if (PEAR::isError($result)){
                throw new Exception('Error al fijar variables de sesin nls_date_format');
    }
    $query = 'alter session set nls_numeric_characters=\'.,\'';
    $result = $p_conexion->exec($query);
    if (PEAR::isError($result)){
                throw new Exception('Error al fijar variables de sesin nls_numeric_characters');
    }
    // Registrar sesion
    $aplicacion=IgepSession::dameAplicacion();
    // Lo ideal seria coger el modulo URL que estoy ejecutando, en vez del script_name
    $mod = strtoupper(IgepSession::dameUsuario()).'@'.$_SERVER['SCRIPT_NAME'];
        $query = "begin dbms_application_info.set_module( '$aplicacion', '$mod' ); end;";
    $result = $p_conexion->exec($query);
    if (PEAR::isError($result)){
            echo 'Error al registrar la sesin: '.$query;
            return;
    }
 }              
preConexion ( p_dsn)

Modifica, si procede, los parmetros de la conexin.

Parámetros:
mixeddsn que utiliza pear:db para la conexin
Devuelve:
mixed devuelve el dsn modificado

Reimplementado de IgepDBMS.

Definición en la línea 18 del archivo IgepDBMS_oci8.php.

                              {
        if ($p_dsn['database'] != '')
                throw new Exception('El parmetro "database" no se usa para oracle');
    return $p_dsn;
  }

La documentación para esta clase fue generada a partir del siguiente fichero: