Bonsoir à tous !

Pour un projet (sous Red Hat Enterprise Linux 6.4) , j'ai une application en PHP qui doit se connecter à une base de données ORACLE située dans un serveur distant, afin d'exécuter des requêtes PL/SQL (exemple : "SELECT sysdate from dual;") que je souhaiterais les afficher sur une page web en PHP.

Je dois faire la connexion avec des paramètres précises :

Hôte (Adresse Serveur)
Port
Mabase
User
Password


J'ai trouvé et testé plein de choses sur internet, mais rien n'y fais, je n'arrive pas à faire la connexion entre la base ORACLE et PHP.

Est-ce que quelqu'un aurait des idées ?

Ci-dessous le code que j'ai utilisé, et j'ai reçu ce message d'erreur:
fatal error call to undefined function oci_connect()
.
Sachant que j'ai installé le RPM de Oracle Instant Client, mais sans aucun résultat.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
<?php 
 
$dbHost = "10.1.50.13";
$dbHostPort="1522";
$dbServiceName = "orcl";
$usr = "admin";
$pswd = "admin";
$dbConnStr = "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)
        (HOST=".$dbHost.")(PORT=".$dbHostPort."))
        (CONNECT_DATA=(SERVICE_NAME=".$dbServiceName.")))";
 
if(!$dbConn = oci_connect($usr,$pswd,'10.1.50.13')){
$err = oci_error();
trigger_error('Could not establish a connection: ' . $err['message'], E_USER_ERROR);
}
else
{
echo "Connected";
}
 
$strSQL = "SELECT SYSDATE FROM DUAL";
 
$stmt = oci_parse($dbConn,$strSQL);
if ( ! oci_execute($stmt) ){
$err = oci_error($stmt);
trigger_error('Query failed: ' . $err['message'], E_USER_ERROR);
};
 
while(oci_fetch($stmt)){
$rslt = oci_result($stmt, 1); print "<h3>query returned: ".$rslt."</h3>";
}
?>

PS: j'arrive pas à savoir comment préciser le nom de la base dans le code. Prière de m'orienter comment le faire.

Merci d'avance pour votre aide !!