Bonjour,
Je suis nouveau sur ce forum, mon prénom est Patrice.
Nous sommes entrain de migrer de Oracle 8.0.5 et Forms5.0 vers Oracle 10g et forms9.0
Nous rencontrons un probleme assez pointu avec cette migration.
Dans une procedure forms, nous passons un parametre (varchar2) qui intervient dans la clause Where d'un Select.
1) Si l'appel de cette procedure se fait avec comme parametre un champ d'un Data Block dont la valeur est nul, le Select fonctionne et les
Select suivant fonctionnent egalement.
2) Si appel de cette procedure au moins une fois avec un champ d'un Data Block dont la valeur est non null, suivi d'un appel avec toujours un champ data block qui est null : le select boucle et ne sort jamais ou donne un ora-01460.
3) si on refait le meme genre de test mais en transformant la procedure pour que la clause where n'utilise plus directement le parametre mais passe par une variable intermediaire , il n'y a plus de probleme.
Pour résumer, il semble donc que le probleme soit la conjugaison de 2 facteurs : 1) passer un champ "data block" dans une procedure qu'il l'utilise dans une clause where. 2) que le premier appel a cette procedure soit avec une valeur non null, suivi d'un appel avec une valeur null.
Et là, plus rien ne va.
L'un d'entre vous a-t-il deja rencontré ce probleme ? Une solution ? Pour ma part, je n'ai pas encore trouvé de solution sur metalink.oracle et je j'ai pas trop envie de repasser en revue des milliers de lignes de code pour ce qu'il me semble etre un bug.
Merci
Partager