Erreur avec le type ROWID
Bonjour,
Je suis actuellement en stage de développement Java et il faut que mon appli puisse manipuler une BDD Oracle à l'aide du framework MyBatis. Et comme j'ai jamais touché à ça avant, je suis en train d'apprendre à la dure :aie:
La table que je dois remplir possède ces colonnes :
Code:
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
|
CREATE TABLE TOTAL.T_OBSERVATION
(
IDOBSERVATION NUMBER NOT NULL,
IDENGIN NUMBER,
ID_MESSAGEBALISE NUMBER,
DATEOBSERVATION DATE,
X FLOAT(126),
Y FLOAT(126),
ECARTHORAIRE FLOAT(126),
ECARTTRAJECT FLOAT(126),
TYPE_OBSERVATION NUMBER(3),
FIABILITE FLOAT(126),
VITESSE FLOAT(126),
CAP FLOAT(126),
NOTRAINSUIVI VARCHAR2(10 BYTE),
NOTRAINCOMP VARCHAR2(10 BYTE),
ETATALIM NUMBER,
USER_INTERRO NUMBER,
STATUT_TRAIN NUMBER(1),
STATUT_ECART_HORAIRE NUMBER(1),
STATUT_ECART_ITINERAIRE NUMBER(1),
STATUT_RECURRENCE NUMBER(1),
STATUT_DEPLACEMENT NUMBER(1),
STATUT_FIABILITE_NULLE NUMBER(1),
STATUT_SUSPENSION NUMBER(1)
) |
Ensuite je déclare en Java un objet qui possède un attribut pour chaque colonne :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| public class Msg {
public int IdObservation;
public int IdEngin;
public int IdMsgBalise;
public String DateObs;
public float X;
public float Y;
public float EcartHoraire;
public float EcartTrajet;
public int TypeObs;
public float Fiabilite;
public float Vitesse;
public float Cap;
public String NoTrainSuivi;
public String NoTrainComp;
public int EtatAlim;
public int UserInterro;
public int StatutTrain;
public int StatutEcartHoraire;
public int StatutEcartItineraire;
public int StatutRecurrence;
public int StatutDeplacement;
public int StatutFiabiliteNulle;
public int StatutSuspension; |
Et enfin je construis ma requète en récupérant les attributs de l'objet :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| INSERT INTO T_OBSERVATION
VALUES(SEQ_OBSERV.nextval,
#{IdEngin},
#{IdMsgBalise},
TO_DATE('#{DateObs}','dd/mm/yyyy hh24:mi:ss'),
#{X},
#{Y},
#{EcartHoraire},
#{EcartTrajet},
#{TypeObs},
#{Fiabilite},
#{Vitesse},
#{Cap},
#{NoTrainSuivi},
#{NoTrainComp},
#{EtatAlim},
#{UserInterro},
#{StatutTrain},
#{StatutEcartHoraire},
#{StatutEcartItineraire},
#{StatutRecurrence},
#{StatutDeplacement},
#{StatutFiabiliteNulle},
#{StatutSuspension}) |
Et enfin, Eclipse me sort cette erreur :
Code:
java.sql.SQLSyntaxErrorException: ORA-00932: inconsistent datatypes: expected NUMBER got ROWID
C'est là que j'ai besoin d'aide car après quelques recherches je ne comprends toujours pas ce qu'est un ROWID, ni comment j'ai pu en envoyer un à ma table :(