In PHP ottenere & # 8220; Classe 'DOP' non trovata & # 8221; errore durante il tentativo di connessione a Oracle DB

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

  •  07-07-2019
  •  | 
  •  

Domanda

Sto tentando di connettermi al mio database Oracle utilizzando PDO ma ricevo Errore PDO di classe non trovato. Ho verificato che PDO sia abilitato e sembra così. Non riesco ancora a rintracciare il motivo per cui ricevo questo errore. Ecco il mio comando configure,

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"

Ver. PHP: 5.2.8 Oracle: 10.2

Questo è il codice che sto usando per connettermi al db.

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

Può esserci qualche altro motivo per cui sto ricevendo questo errore? Qualsiasi aiuto è stato apprezzato.

È stato utile?

Soluzione

Questo in genere significa che l'estensione PDO in questione non è compilata e configurata in modo che PHP possa usarla. Su quale sistema operativo stai compilando PHP?

Non sono sicuro che il modulo principale PDO sia compilato se specifichi solo di compilare l'estensione oracle di esso (PDO-OCI).

Dovresti dare un'occhiata al manuale di PHP su come installare e abilitare il modulo PDO.

Dovresti dare un'occhiata a questi siti: http://is.php.net/manual/en/pdo.installation. php http://is.php.net/manual/en/ref. DOP-oci.php

Altri suggerimenti

Controlla la mia domanda Ho risolto questo e altri errori ma poi sono bloccato, Nessun record trovato ... Agiletoolkit e Oracle. Elementi griglia / CRUD

La mia stringa di connessione Oracle nel file agiletoolkit config-default.php è simile al seguente:

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

Per correggere l'errore del driver non trovato, ho abilitato extension = php_pdo_oci8.dll nel file php.ini dalla mia installazione di apache.

Quindi si è verificato un errore relativo alla mancanza di " oci.php " ;, per risolvere il problema che ho dovuto creare il mio file in questo modo:

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 '';
    }
}

e collocato in: ... atk4 \ lib \ DB \ dsql

Per correggere l'errore dei caratteri speciali dall'oracolo, ho impostato la riga 59 su /atk4/lib/DB/dsql.php per svuotare la stringa in questo modo: public $ bt = '';

Riesco ad eseguire il test del database e dice "quotata correttamente al database". "

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top