En PHP obteniendo & # 8220; Clase 'PDO' no encontrada & # 8221; error al intentar conectarse a Oracle DB

StackOverflow https://stackoverflow.com/questions/1436264

  •  07-07-2019
  •  | 
  •  

Pregunta

Estoy tratando de conectarme a mi base de datos Oracle usando PDO pero obtengo el error de clase PDO no encontrado. he verificado que PDO está habilitado y parece que sí. Todavía no puedo rastrear por qué recibo este error. Aquí está mi comando de configuración,

cscript /nologo configure.js "--enable-snapshot-build" "--enable-debug-pack" 
"--with-snapshot-template=d:\php-sdk\snap_5_2\vc6\x86\template" 
"--with-php-build=d:\php-sdk\snap_5_2\vc6\x86\php_build" 
"--with-pdo-oci=D:\php-sdk\oracle\instantclient10\sdk,shared" 
"--with-oci8=D:\php-sdk\oracle\instantclient10\sdk,shared"

PHP ver: 5.2.8 Oracle: 10.2

Este es el código que estoy usando para conectarme a la base de datos.

try{
    $conn = new PDO("oci:dbname=".$oc_db,$oc_user,$oc_pass);
}catch(PDOException $e){
    echo ($e->getMessage());
}

¿Puede haber alguna otra razón por la que recibo este error? Cualquier ayuda apreciada.

¿Fue útil?

Solución

Esto generalmente significa que la extensión PDO en cuestión no está compilada y configurada para que PHP pueda usarla. ¿En qué sistema operativo está compilando PHP?

No estoy seguro de si el módulo principal PDO está compilado si solo especifica compilar la extensión oracle del mismo (PDO-OCI).

Debe consultar el manual de PHP sobre cómo instalar y habilitar el módulo PDO.

Deberías mirar estos sitios: http://is.php.net/manual/en/pdo.installation. php http://is.php.net/manual/en/ref. pdo-oci.php

Otros consejos

Comprueba mi pregunta. Soluciono este y otros errores, pero luego estoy atascado, No se encontraron registros ... Agiletoolkit y Oracle. Elementos de cuadrícula / CRUD

Mi cadena de conexión Oracle en el archivo agiletoolkit config-default.php tiene este aspecto:

$config['dsn']= array( 'oci:dbname=localhost/MYDATABASE', 'MYUSER', 'MYPASSWORD' );

Para corregir el error de controlador no encontrado, habilité extension = php_pdo_oci8.dll en el archivo php.ini desde mi instalación de apache.

Luego hubo un error acerca de un " oci.php " ;, faltante para resolver que tenía que crear mi propio archivo de esta manera:

class DB_dsql_oci extends DB_dsql {
    function limit($cnt,$shift=0){
        $cnt+=$shift;

    $this->where('NUM_ROWS>=',$shift);
        $this->where('NUM_ROWS<',$cnt);
        return $this;
    }
    function render_limit(){
        return '';
    }
}

y lo colocó en: ... atk4 \ lib \ DB \ dsql

Para corregir el error de caracteres especiales de Oracle, configuré la línea 59 en /atk4/lib/DB/dsql.php para vaciar una cadena como esta: public $ bt = '';

Me las arreglo para ejecutar la prueba de la base de datos y dice "Conectado con éxito a la base de datos".

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top