Bonjour,
1)
En fait la dernière goutte est à ne pas perdre de vue pour les commandes system complexes envoyées depuis Perl.
my @CMD = ('/opt/OV/bin/OpC/opccmachg -user AF -id ', $id, ' -async COMMENTAIRE=Ticket_pris_en_charge');
Je n'ai pas d'idée supplémentaire, justes quelques remarques avant la sieste :
2)
Lorsque tu es root ça ne veut pas dire que tu as tous les droits sur Oracle, loin de là !
Même l'administrateur de la base ne peut pas intervenir sur les données des utilisateurs, s'il n'a pas les grant nécessaires...
3)
Insecure dependency in system while running with
Cette erreur on la trouve de façon récurrente sur internet, il est peu probable (mais pas impossible) qu'un module "maison" la contienne in extenso
4)
La détection de données corrompues dans une base sur un SELECT me semble improbable, à l'INSERT passe encore...
Je n'ai pas touché à Oracle depuis la 9i 
Ils n'y auraient pas ajouté un process supplémentaire, par hasard qui ferait des contrôles supplémentaires...
5)
Pourrais-tu simplifier ton select au maximum, essayer qqc :
Mon idée :
J'ai eu pas mal de soucis avec le traitement des ' et " imbriqués dans des requêtes Oracle générées avec Pro*C et dernièrement pour un essai ici avec Perl.
La partie :
AND (OPC_ESCAL_ASSIGN_M.OP_NAME<>'OpC' OR OPC_ESCAL_ASSIGN_M.OP_NAME is NOT null)
Me chagrine justement à cause des ', ainsi que l’absence d'espaces :
AND (OPC_ESCAL_ASSIGN_M.OP_NAME <> 'OpC' OR OPC_ESCAL_ASSIGN_M.OP_NAME is NOT null)
Les interpréteurs de requêtes SQL en font un peu à leur tête.
Si le SELECT from dual fonctionne, tente :
SELECT DISTINCT OPC_ACT_MESSAGES.MESSAGE_NUMBER FROM OPC_ACT_MESSAGES,OPC_ESCAL_ASSIGN_M WHERE (OPC_ACT_MESSAGES.receiving_time Between $DELTA_TIME AND $ACTUAL_TIME) AND (OPC_ACT_MESSAGES.SEVERITY <> 2) AND (OPC_ESCAL_ASSIGN_M.MESSAGE_NUMBER=OPC_ACT_MESSAGES.MESSAGE_NUMBER);
Partager