Bonjour, j'importe des données d'un fichier plat dans une table contenant une contrainte d'unicité sur plusieurs champs. cela est fait volontairement car je veux éviter les insertions de doublure dans la table.
Ainsi sql loader génère l'erreur ORA-00001: violation de contrainte unique dans un fichier log.
un fichier batch contient ma commande sql loader qui est exécuté plusieurs fois a travers une boucle qui récupère les noms de fichiers et ensuite les placent dans la partie data de la commande sqlldr car il y'a plusieurs fichiers plat avec des noms différents a importer.
voici le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
for %%A in (fichier*.CSV) Do (CD C:\Users\rep
                         sqlldr userid=cdci/cdci control=controlAchat_Produit.txt data='C:\Users\Desktop\import\%%A' log='log%%A.txt' bad='bad%%A.txt' discard='disard%%A' direct=y errors=500000 SKIP=1
)
IF "%ERRORLEVEL%"=="0" (GOTO DEP) else (GOTO ERROR)
ma préoccupation est-il possible d’éviter la prise en compte de cette erreur uniquement car dans mon fichier batch j'utilise l'instruction IF "%ERRORLEVEL%"=="0" pour tester le code de sortie de la dernière commande sql loader si elle a été exécutée correctement pour aller dans une autre instruction a exécuter.

je m'explique étant donné que cette erreur est provoquée volontairement je veux éviter la prise en compte de cette erreur pour ne pas que la commande sqlldr renvoie une erreur a ERRORLEVEL.
ou encore existe-il un autre moyen de gérer ce cas dans le fichier batch.
merci de votre aide