Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/05/2007, 19h57   #1
Membre du Club
 
Avatar de paradeofphp
 
Inscription : décembre 2005
Messages : 312
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 312
Points : 58
Points : 58
Par défaut Erreur ORA-00932 types de données incohérents

Salut tout le monde

J'ai essayé d'executer la requête suivante sous Oracle 10 XE :

Code :
1
2
3
4
5
6
7
8
9
10
 
SELECT T.*, P.STOCKAGE_PHOTO
                 FROM PERSONNES P INNER JOIN
                 (SELECT MAX(CS.DATE_ATTRIBUTION) AS Expr1, SP.NUMSERIE, PS.NOM, PS.PRENOM, PS.Dte_Naissance, PR.ID_PORTEUR, PR.ID_CARTE, PS.PHOTO, PR.ID_PERSONNE , CS.STATUT, CS.DATE_ATTRIBUTION, CS.DATE_OPPOSITION, CS.DATE_DELIVRANCE
                 FROM PORTEUR PR INNER JOIN PERSONNES PS ON PR.ID_PERSONNE = PS.ID_PERSONNE INNER JOIN
                 SUPPORTE SP ON PR.ID_CARTE = SP.ID_CARTE INNER JOIN
                 CARTES CS ON PR.ID_CARTE = CS.ID_CARTE AND SP.ID_CARTE = CS.ID_CARTE
                 WHERE PS.NOM = 'MOREAU' AND PS.PRENOM='Paule' AND STATUT IN ('ACTIF','RESERVE')
                 GROUP BY PR.ID_PERSONNE, SP.NUMSERIE, PS.NOM, PS.PRENOM, PS.Dte_Naissance, PR.ID_PORTEUR, PR.ID_CARTE, PS.PHOTO, CS.STATUT, CS.DATE_ATTRIBUTION, CS.DATE_OPPOSITION, CS.DATE_DELIVRANCE) T ON
                P.ID_PERSONNE = T.ID_PERSONNE

Alors j'ai recu l'erreur suivante :

ORA-00932: types de données incohérents ; attendu : NUMBER ; obtenu : BLOB

Lorsque j'ai enlevé le champs P.STOCKAGE_PHOTO de la sélection, la requête a bien marché. Mais j'ai besoin d'afficher ce champs. Ce champs sert a stoker des images, il est du type BLOB.

Avez-vous une idée pour que ca marche? Merci a vous.
paradeofphp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2007, 10h09   #2
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Quel est le langage ou l'outil utilisé pour exécuter la requête ?

En général, les outils de type SQL*Plus ou TOAD ne savent pas directement afficher des images. Dans un langage de programmation, il faut utiliser le bon service de l'API correspondante avec les bonnes déclarations de variables qu'on doit trouver dans le Oracle® Database Application Developer's Guide - Large Objects.
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2007, 11h34   #3
Membre du Club
 
Avatar de paradeofphp
 
Inscription : décembre 2005
Messages : 312
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 312
Points : 58
Points : 58
Merci pour ta réponse Pifor. J'execute cette requête dans un projet ASP.NET ecrit avec VB.Net.

J'ai testé également cette requête sous l'outil Oracle XE.
paradeofphp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2007, 12h15   #4
Membre du Club
 
Avatar de paradeofphp
 
Inscription : décembre 2005
Messages : 312
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 312
Points : 58
Points : 58
Pourriez-vous me dire comment je peux afficher l'image ? je suis vraiment coincé là.
paradeofphp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2007, 12h47   #5
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Voir http://download-uk.oracle.com/docs/c...b14307/toc.htm
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2007, 13h57   #6
Membre du Club
 
Avatar de paradeofphp
 
Inscription : décembre 2005
Messages : 312
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 312
Points : 58
Points : 58
merci encore une fois Pifor pour ta réponse. Veux-tu me dire quelle fonction utilisée, je suis nul en anglais
paradeofphp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2007, 10h24   #7
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Désolé, je n'ai jamais travaillé avec .Net. Mais si on travaille avec Oracle en développement ou en administration, il me semble indispensable de maîtriser un minimum d'anglais technique car Oracle ne traduit en général aucun document officiel (pour Oracle 9, il y a environ 40 000 pages de documents ...). Et le site oracle.developpez.com est un des très rare sites où on peut trouver de la documentation en français.

Ceci dit, si vous avez un contrat de support Oracle, vous pouvez poser une question en français et Oracle vous répondra en français.
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2007, 10h56   #8
Membre confirmé
 
Inscription : janvier 2006
Messages : 178
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : janvier 2006
Messages : 178
Points : 208
Points : 208
Le problème ne viendrait-il pas du fait que P.STOCKAGE_PHOTO apparait dans le GROUP BY ? Un LOB (BLOB ou CLOB) est interdit dans un GROUP BY (et c'est assez logique, non ? )

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
rbaraer@Ora10g> CREATE TABLE testblob(id number, img blob);
 
TABLE created.
 
rbaraer@Ora10g> INSERT INTO testblob(id, img) VALUES (1, HEXTORAW('0A0D1C'));
 
1 row created.
 
rbaraer@Ora10g> SELECT id, count(*) FROM testblob GROUP BY id;
 
        ID   COUNT(*)
---------- ----------
         1          1
 
rbaraer@Ora10g> SELECT id, img, count(*) FROM testblob GROUP BY id, img;
SELECT id, img, count(*) FROM testblob GROUP BY id, img
                                                    *
ERROR at line 1:
ORA-00932: inconsistent datatypes: expected - got BLOB
 
 
rbaraer@Ora10g>
rbaraer
rbaraer est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h38.


 
 
 
 
Partenaires

Hébergement Web