Bonjour,
Je suis débutante, et je rencontre un problème. J'espère que j'ai placé mon sujet dans le bon endroit.
Je m'explique :
D'un côté, j'ai un script sql qui ressemble à ceci :
Pour information, ce script a pour but de récupérer des données grâce à la référence et de les mettre dans un fichier "txt", je ne sais pas si je suis claire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 SET SERVEROUTPUT ON SET TERM OFF SET ECHO OFF SET TIMING OFF SET VERIFY OFF SET FEEDBACK OFF ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY'; DEF l_Reference = &1 SPOOL c:\temp\test.txt EXECUTE A.B('&l_Reference') SPOOL OFF
J'aimerai exécuter ce script dans un fichier PHP.
J'ai vu quelques solutions sur les forums mais j'ai du mal à comprendre et de toute manière sa ne fonctionne pas avec moi.
Voici mon fichier php :
Ma connexion à ma base fonctionne, mais j'obtiens l'erreur suivante quand j'essaye mon fichier php : oci_execute() [function.oci-execute]: ORA-00922: option erronée ou absente.
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 // solution 1 $query = "SET SERVEROUTPUT ON". "SET TERM OFF". "SET ECHO OFF". "SET TIMING OFF". "SET VERIFY OFF". "SET FEEDBACK OFF". "ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY';". "SPOOL c:\temp\test.txt". "EXECUTE A.B('".$reference."')". "SPOOL OFF"; //$query = file_get_contents('../test.sql'); // Solution 2 //$query = mysql_escape_string($query); // Solution 2 $statement = oci_parse($connection, $query); oci_execute($statement);
Est ce que quelqu'un pourrait m'expliquer mon erreur ou me proposer d'autres solutions pour exécuter mon script dans mon fichier php.
Merci d'avance
Partager