|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : novembre 2009 Messages : 39 ![]() |
Bonjour,
J'ai actuellement un script qui se lance et qui insert des données et qui archive ce qui a été inscript. Code :
Je voulais donc savoir si il y avait une solution pour que l'erreur soit spooler dans un autre fichier ? Sans que sa interrompt le reste de la commande car il peut y avoir plusieurs commandes d'INSERT. Merci |
||
|
|
00
|
|
|
#2 |
|
Membre éprouvé
![]() |
Bonjour,
L'utilisation de SPOOL ne permet d'utiliser qu'un seul fichier en sortie. Si vous voulez que les erreurs figurent dans un autre fichier, il faut changer de technique : - encapsuler chaque instruction INSERT dans un bloc PL/SQL - faire un DBMS_OUTPUT pour avoir le résultat de la commande INSERT - traiter les erreurs avec un bloc EXCEPTION et les mettre dans un fichier avec UTL_FILE. En faisant un bloc PL/SQL par instruction, cela permettra au script de continuer en cas d'erreur. |
|
|
00
|
|
|
#3 | ||
|
Nouveau Membre du Club
![]() Administrateur de base de données Inscription : mars 2011 Messages : 15 ![]() |
bonjour,
ou laissez le Code :
salutations |
||
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() |
L'utilisation des blocs PL/SQL et plus précisément le package UTL_FILE ( voir ce guide pour plus de détails : http://sheikyerbouti.developpez.com/...=Chap1#L1.2.22 ) permet de gérer les fichiers.
Vous pouvez ainsi gérer séparément toutes les erreurs liées à vos requêtes ( en utilisant le mot clé EXCEPTION ). |
|
|
00
|
|
|
#5 |
![]() Inscription : décembre 2002 Messages : 2 387 ![]() |
En utilisant un SQL*Plus 11g (même si le serveur est en 10g) :
Code :
SET ERRORLOGGING ON [ TABLE ma_table ] De cette façon, il n'y a aucun besoin de modifier le script ni de faire du PL/SQL.
__________________
Consultant / formateur Oracle indépendant Certifié OCP 10g et 11g, sécurité 11g |
|
|
20
|
Copyright © 2000-2012 - www.developpez.com