IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL*Loader Oracle Discussion :

sqlloader : annuler un chargement


Sujet :

SQL*Loader Oracle

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Février 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut sqlloader : annuler un chargement
    Bonjour,

    Existe t'il un moyen d'annuler le chargement des données fait avec sql loader si des données du fichier sont rejetées ? En d'autres termes, peut-on faire un rollback ou un undo quand il y a du bad ?

    Merci par avance de votre aide.

  2. #2
    Rédactrice

    Avatar de kalyparker
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 327
    Points : 2 998
    Points
    2 998
    Par défaut
    Bonjour,

    il me semble que lors de l'appel à sql loader il existe un paramètre 'errors' qui te permet de spécifier le nombre d'erreurs tolérées.
    Cherche de ce côté là (je ne sais pas si ce paramètre fonctionne pour toute les versions de sqlldr)

    voili, voilou
    It isn't that they can't see the solution, it's that they can't see the problem.
    Mes Articles et Traductions (Microstrategy, Css et Javascript)
    Si vous souhaitez contribuer à la rubrique BI, contactez-moi ou tout autre membre de l'équipe BI par MP.

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Février 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut sqlloader : annuler un chargement
    Merci kalyparker !
    Le paramètre errors sert à dire combien de lignes en erreur sont acceptées dans le fichier bad (enregistrements en rejet) mais il n'annule pas le chargement des données valides. Or, moi, ce que je voudrais, c'est pouvoir annuler le chargement des données valides déjà intégrées si des enregistrements sont rejetés.

  4. #4
    Rédactrice

    Avatar de kalyparker
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 327
    Points : 2 998
    Points
    2 998
    Par défaut
    il n'annule pas le chargement des données valides
    Bon, ben tant pis.
    Je ne crois pas que c'est possible de faire ça directement avec sql loader.

    A mon avis, le plus simple c'est d'utiliser une table temporaire de chargement.
    Tu teste ensuite si un fichier .bad à été créé, et si non et bien tu bascule les données chargé dans la table temporaire vers les bonnes tables.
    It isn't that they can't see the solution, it's that they can't see the problem.
    Mes Articles et Traductions (Microstrategy, Css et Javascript)
    Si vous souhaitez contribuer à la rubrique BI, contactez-moi ou tout autre membre de l'équipe BI par MP.

  5. #5
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur et DBA Oracle

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Points : 1 197
    Points
    1 197
    Par défaut table externe
    Bonjour,

    La création de table externe te permet de controler le nombre d'enregistrements rejetés et aprés tu peux remplir tes vrais tables

    Le mécanisme étant proche de celui utilisé par l'utilitaire Sql*Loader,
    l'écriture éventuelle d'un fichier log et d'un fichier de rejet requiert également
    le droit d'écriture (WRITE) sur un répertoire Oracle.

    Voici l'exemple suivant
    Soit le fichier plat test_table_externe.txt suivant :

    10,Emile,DUBOUDIN, Charcutier
    20,Jocelyne,POTAUFEU,Epicière
    30,Harry,COVER,Maraîcher
    40,Hans,BURGER,Restaurateur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    CREATE TABLE employes_ext
    (
    	numero	NUMBER(7),
    	nom	VARCHAR2(30),
    	prenom	VARCHAR2(20),
    	job	VARCHAR2(20)
    )
    	ORGANIZATION EXTERNAL
    	(
    	  TYPE ORACLE_LOADER
    	  DEFAULT DIRECTORY	nom_directory_read
    	  ACCESS PARAMETERS
    	  (
    		records delimited by newline
    		badfile	 nom_directory_write:'test_table_externe.bad'
    		logfile nom_directory_write:'test_table_externe.log'
    		fields terminated by ','
    		missing field values are null
    		( numero, nom, prenom, job )
    	  ) 
    	  LOCATION ('test_table_externe.txt')
    	)
    	PARALLEL
    	REJECT LIMIT 0 ;

Discussions similaires

  1. SQLLoader - oracle10g - chargement multi table
    Par isn44 dans le forum SQL*Loader
    Réponses: 1
    Dernier message: 14/01/2008, 14h09
  2. sqlloader, chargement (un peu) complexe
    Par fguigui dans le forum SQL*Loader
    Réponses: 10
    Dernier message: 21/09/2006, 16h51
  3. [sqlloader]problèmes de chargement
    Par ssidki dans le forum Oracle
    Réponses: 6
    Dernier message: 26/07/2006, 18h36
  4. Réponses: 2
    Dernier message: 07/01/2006, 10h12
  5. sqlloader: chargement complexe
    Par slefevre01 dans le forum SQL*Loader
    Réponses: 3
    Dernier message: 06/10/2005, 11h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo