elcoyote38
Messages postés3Date d'inscriptionvendredi 16 mars 2007StatutMembreDernière intervention19 mars 2007
-
16 mars 2007 à 16:44
mindala
Messages postés1Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention19 septembre 2007
-
19 sept. 2007 à 15:13
Bonjour à tous,
je souhaiterais savoir si quelqu'un pouvais m'aider concernant l'affichage d'un champ blob sur une base oracle.
J'ai déjà fait pas mal de recherche sur google et sur ce site mais sans succès (j'ai trouvé pas mal d'infos mais....).
Je vous explique le domaine d'utilisation :
PHP (biensûr)
une base Oracle auquel je n'ai accès qu'en lecture. Je ne suis pas le gestionnaire de la base.
Lors de mes recherches dans les tables, la donnée que je veux afficher est de type blob. Le type exact je ne le connais pas mais il s'agit de texte. Mon problème est comment faire pour afficher ce champ blob. Je sais que sur une base MySQL j'aurais pu utiliser Substring (si je me trompe pas) mais oracle...
Le code que j'utilise :
$connect = ocilogon("user","pass", "bdd");
$stmt = ociparse($connect,"select champ from table");
while (ocifetch($stmt))
{
Et c'est là que je bloque... je sais comment afficher un contenu tout simple :
echo ociresult($stmt,colonne);
}
Je sais aussi qu'il faut utiliser un header("Content-type: type");
Mais rien à faire je bloque complètement la :(
Si quelqu'un pouvait m'aider...
D'avance merci
A voir également:
Un seul champ automatique est permis et il doit être indexé
elcoyote38
Messages postés3Date d'inscriptionvendredi 16 mars 2007StatutMembreDernière intervention19 mars 2007 19 mars 2007 à 09:43
Salut,
j'ai testé la fonction ociloadlob mais sans succès. Php ne me renvoi pas d'erreur mais ne m'affiche rien.
Du coup j'ai vérifié le type exact du champ avec la fonction ocicolumntype. Cette fonction m'a retourné le type LONG RAW.
J'ai trouvé quelques astuces pour passé ce type Long Raw en blob mais sans succès.
Sur un site il est indiqué d'utiliser to_lob dans la requête mais si je fais ça il ne veux plus exécuter la requête et me donne une erreur de nom de colonne invalide.
Là je sèche encore.
le bout de code pour l'affichage du blob serait : echo ociloadlob($stmt,$i);
Voila en gras ce qu'il faut rajouter si t'utilise
oci_fetch_array tu rajoute seulement OCI_ASSOC+OCI_RETURN_LOBS et c'est réglé, j'espère que ce n'est pas trop tard pour
ta demande je viens juste de la voir.