2013-03-20 3 views
1

Je suis en train de pirater ensemble un script pour se connecter à une base de données Oracle à distance et d'exécuter une requête simpleexception Oracle PHP PDO: n'a pas pu trouver pilote

Grâce à des recherches approfondies, j'ai trouvé le script suivant:

<? 

$tns = " 
    (DESCRIPTION = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = bogus.com.au)(PORT = 1521)) 
     (CONNECT_DATA = 
      (SERVER = DEDICATED) 
      (SERVICE_NAME = myDB) 
     ) 
    ) 
"; 


$pdo_string = 'oci:dbname='.$tns; 

try { 
    $dbh = new PDO($pdo_string, 'test', 'fake'); 
} catch (PDOException $e) { 
    echo "Failed to obtain database handle: " . $e->getMessage(); 
    exit; 
} 

$query = "SELECT * FROM someTable"; 

$stmt = $dbh->prepare($query); 

if ($stmt->execute()) { 
    echo "<h4>$query</h4>"; 
    echo "<pre>"; 
    while ($row = $stmt->fetch()) { 
     print_r($row); 
    } 
    echo "</pre>"; 
} 

?> 

Cependant, j'obtiens l'erreur could not find driver. Alors je l'ai fait:

foreach(PDO::getAvailableDrivers() as $driver) 
    echo $driver, '<br>'; 

qui est revenu:

mysql 
odbc 
sqlite 

Cela me dit que j'ai le pilote installé, oui?

Qu'est-ce que je fais mal? (Il est vrai que j'ai peu à aucune connaissance de PHP avec bases de données Oracle alors peut-être que je manque le fait évident ..)

Répondre

2

Vous devez installer l'adaptateur Oracle dans PDO:

http://php.net/manual/en/ref.pdo-oci.php

+0

Merci. J'ai lu et dit: 'Use --with-pdo-oci [= DIR] pour installer l'extension PDO Oracle OCI' Je n'aurais aucune idée sur la façon de le faire. Diriez-vous que j'essaie de mordre plus que je ne peux mâcher à ce point? Y a-t-il un moyen plus simple de le faire? se connecter à une base de données MySQL n'était pas si compliqué. – kaizenCoder

0

Vous devez configurez votre serveur pour activer l'extension PDO_OCI.

Aller à php.ini et trouver la ligne extension=php_pdo_oci.dll et enlever la virgule ; de son démarrage puis redémarrez votre service apache.

Questions connexes