|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||||||||
|
Membre à l'essai
![]() |
Bonjour,
après l'execution des exemples donnés ici: Citation:
Je veux pouvoir afficher des clobs contenus dans une base oracle avec PHP5 J'ai testé: avec comme requete: select ID, MYCLOB FROM TABLE; Code :
Code :
Citation:
Et de plus mes clobs ne sont ni null ni vides. Merci d'avance pour votre inestimable coup de main. |
||||||||||||||
|
|
00
|
|
|
#2 |
|
Membre à l'essai
![]() |
j'ai oublié de dire que j'utilise le driver oci8
Merci d'avance pour votre aide |
|
|
00
|
|
|
#3 |
![]() ![]() Inscription : août 2006 Messages : 1 207 ![]() |
Exectute ta requete comme une requete tout a fait classique. Normalement, avec ton fetch, quand tu affiches chacun de tes champs, tu devrais obtenir une valeur lisible pour les champs contenant des données classiques (les champs number ou varchar2) et un truc genre "#rowid 210" pour les clob.
Ces champs là sont de type "oci-lob" et tu peux donc leur appliquer les fonctions qui vont bien avec lob-read par exemple (cette fonction là retourne le contenu de ton clob dans une string). Ton problème dans l'exemple numero deux est que tu appliques la fonction load a un objet qui n'est pas de type oci-lob. La première étape est donc de trouver une maniere de faire ta requête qui te renvoie bien ce qu'il faut (je ne me suis jamais servi de OCI_RETURN_LOBS je ne connais pas son influence sur les oci-lob). Bonne chance ;-)) -- Rakken |
|
00
|
|
|
#4 | ||
|
Membre à l'essai
![]() |
Merci beaucoup Rakken pour ton aide.
J'ai résolu le problème de l'erreur grâce a ton explication. En fait je ramenais des réponses NULL et la fonction load() ne s'applique pas sur des input nuls. Par contre maintenant je fais: Code :
si j'enlève le "->load()" j'obtiens: Object id #1 si je mets le "->load()" j'obtiens une chaine vide: le lob n'est pas affiché Bref n'étant pas un spécialiste en PHP je ne fais que suivre les tutoriaux, exemples et cours sur le net et je ne vois absolument pas où se trouve l'erreur et ce qui coince. Merci d'avance |
||
|
|
00
|
|
|
#6 | ||
|
Membre à l'essai
![]() |
J'ai essayé selon ta proposition en m'inspirant du code dont tu as donné le lien.
Merci beaucoup, ça m'aide énormément à comprendre. J'ai donc fait Code :
Par contre si j'affiche $myvar->size() j'obtiens bien des tailles non nulles allant de 1 à n Donc les lobs sont bien renseignés, ils sont bien non vides mais il n'est pas possible de les lire avec load() ou read(). Là, je suis complètement dépassé. Merci infiniment pour ton aide. |
||
|
|
00
|
|
|
#7 |
![]() ![]() Inscription : août 2006 Messages : 1 207 ![]() |
Ils sont cencé contenir quoi tes clobs ?
Ca peut être un truc tout bête (qui m'est arrivé), ou je lisais du xml dans mes clobs. Le xml peut ne pas s'afficher si tout le contenu est dans des balises (reconnue comme des balises html non valide, donc cachée ^^). Vérifie dans le code source de la page que tu génères. -- Rakken |
|
00
|
|
|
#8 |
|
Membre à l'essai
![]() |
ils contiennent du texte... tout bêtement des chaines de caractères sans aucun formattage.
si j'édite la source de la page affichée j'ai belle et bien une chaine vide... peut-être qu'il s'agit d'une config spéciale au niveau du serveur? Je ne sais pas... et là dessus je n'ai pas la main. Merci beaucoup pour ton aide
|
|
|
00
|
|
|
#9 |
![]() ![]() Inscription : août 2006 Messages : 1 207 ![]() |
Alors là je seche...
J'crois que le mieux c'est de reposer ta question, avec ton code actuel, dans la section "oracle" (en n'oubliant pas de faire un ptit lien sur le thread ici), ils auront peut-être une idée coté "serveur". -- Rakken |
|
00
|
Copyright © 2000-2012 - www.developpez.com