|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre chevronné
![]() ![]() Rija RandrianoInscription : janvier 2007 Messages : 984 ![]() |
Bonjour,
Je rencontre le problème suivant dont j'aimerais que vous m'aidiez à comprendre. Code :
Code :
__________________
randriano.dvp.com |
||||
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
t'es un grand garçon quand même... le débugage on peut pas le faire pour toi, on a pas accès à ta base de donnée et apparemment le trigger n'est pas complet
En tout cas, en terme d'écriture on peut déjà signaler 2 SELECT inutiles et du coup 2 variables en plus qui ne servent à rien. Des IF à gogo au lieu de CASE. Rend le plus lisible et tu trouveras surement l'erreur tout seule... un bon moyen de débugger est d'exécuter le code à la main dans un session pour commencer. Edit : à tout hasard je dirais bien qu'il est possible que tu envoies NULL dans le paramètre de ta procédure |
|
|
00
|
|
|
#3 |
![]() ![]() Consultant en Business Intelligence Inscription : janvier 2007 Messages : 1 192 ![]() |
Bonjour,
Il semble que l'erreur vienne du trigger A_I_EED_SET_CLASSES, dont on n'a pas le code
|
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
c'est pas faux
|
|
|
00
|
|
|
#5 |
|
Membre chevronné
![]() ![]() Rija RandrianoInscription : janvier 2007 Messages : 984 ![]() |
Bon, désolé j'ai posté le mauvais rapport d'erreur. Maintenant c'est le bon, voir le 1er message !!
J'ai copié le code jusqu'au point où l'erreur se produit c'est à dire la ligne 75 un appel à une procédure !!! orafrance ! Je n'ai pas l'intention de profiter des gens pour déboguer mon code mais je me demande si cette erreur est courante et qui en a l'expérience
__________________
randriano.dvp.com |
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
cette erreur est en effet courante mais dépend complètement du code. Relis mon message et suis mes recommandations
|
|
|
00
|
|
|
#7 |
![]() ![]() Consultant en Business Intelligence Inscription : janvier 2007 Messages : 1 192 ![]() |
Pour info :
PL/SQL n'est pas case-sensitive Le problème ne viens donc pas de là. Pour le reste j'ai un peu de mal à me mettre dedans... |
|
|
00
|
|
|
#8 |
|
Membre chevronné
![]() ![]() Rija RandrianoInscription : janvier 2007 Messages : 984 ![]() |
Pour être plus clair,
ORA-06512: à "RANDRIANO.A_I_RDR_MYClasses", ligne 75 => il s'agit d'erreur d'exécution de la 75è ligne du trigger A_I_RDR_MYClasses qui est rdr_createtab(v_TableName) !!! J'ai parlé de manque de GRANT car avant, j'avais un problème de privilèges insuffisants pour la création de ce trigger même pour exécuter une procedure de création de table, donc j'ai fait et ça marchait ! Maintenant le problème c'est lors de l'exécution du trigger même !
__________________
randriano.dvp.com |
|
|
00
|
|
|
#9 | ||||
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Remplace :
Code :
Code :
|
||||
|
|
00
|
|
|
#10 |
|
Membre chevronné
![]() ![]() Rija RandrianoInscription : janvier 2007 Messages : 984 ![]() |
Ce remplacement conduit à une autre erreur (ORA-01735: option ALTER TABLE non valide). Comme vous l'avez dit, le forum n'est pas pour déboguer mes programmes.
Je me demande seulement à quoi sert ce test par remplacement ? Dans mon CREATE TABLE, est-il nécessaire de préciser le schéma ou pas ?
__________________
randriano.dvp.com |
|
|
00
|
|
|
#11 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
oui il vaut mieux
|
|
|
00
|
|
|
#12 | |
|
Membre chevronné
![]() ![]() Rija RandrianoInscription : janvier 2007 Messages : 984 ![]() |
Et bon, comme je le dis toujours dans ma signature
Citation:
Code :
INSERT INTO RANDRIANO.RDR_MYClasses (ID, Name, Type) VALUES (RANDRIANO.mypkg_guid.guidclass,'Class 4', '4')
__________________
randriano.dvp.com |
|
|
|
00
|
|
|
#13 | |||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 453 ![]() |
Citation:
Code :
__________________
More Code : More Bugs. Less Code : Less Bugs |
|||
|
|
00
|
|
|
#14 | ||
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Vrai !
Code :
|
||
|
|
00
|
|
|
#15 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 453 ![]() |
Parce que Oracle passe le nom de ta fonction dans ton select en UPPER.
C'est pas ce que j'appelle du CASE INSENSITIVE Dans ton cas c'est comme si tu avais codé
__________________
More Code : More Bugs. Less Code : Less Bugs |
|
|
00
|
|
|
#16 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Je sais bien, mais dire que Oracle est case-sensitive est également faux. Il l'est uniquement si le nom de l'objet est entre guillemet ce qui n'est pas recommandé
|
|
|
00
|
|
|
#17 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 453 ![]() |
Oui en fait Oracle n'est ni l'un, ni l'autre..
__________________
More Code : More Bugs. Less Code : Less Bugs |
|
|
00
|
|
|
#18 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
|
|
|
00
|
|
|
#19 |
|
Membre chevronné
![]() ![]() Rija RandrianoInscription : janvier 2007 Messages : 984 ![]() |
Oracle et pl/sql
1) sensible à la casse 2) ne supportant les ESPACES dans les noms de tables ou de procédures et quoi d'autres ??
__________________
randriano.dvp.com |
|
|
00
|
|
|
#20 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
il me semble qu'un nom d'objet ne peut pas commencer par un chiffre.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com