Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > SQL*Loader
SQL*Loader Forum d'entraide sur Oracle SQL*Loader
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/10/2007, 16h12   #1
Candidat au titre de Membre du Club
 
Inscription : juin 2006
Messages : 60
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 60
Points : 10
Points : 10
Par défaut Sql Loader sans commit intermédiaire

Je suis en train de réaliser un sql loader sur une base ORACLE version 9.

Mon problème est le suivant : je sors à la première erreur avec la clause ERRORS=0 mais tous les enregistrements précédents sont quand même enregistrés dans la base.

Or j'aimerai ne réaliser le "commit" que si tout le fichier est correct.

Est ce possible ?

Merci par avance.
Pacman23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 08h45   #2
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Non, à ma connaissance cela n'est pas possible . Pour contourner cette limitation, vous pouvez:
  1. charger les données dans une table intermédiaire
  2. si le chargement s'est bien passé, copier les données de la table intermédiaire dans la table cible sinon vider la table intermédiare avec TRUNCATE.
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2007, 17h17   #3
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 319
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 319
Points : 5 837
Points : 5 837
Il est possible en ajustant les paramètres rows et bindsize du sqlloader. Mais parce que tu utilise Oracle9 tu pourrait utiliser une table externe. Tu peux trouver plus d'informations sur ces sujets ici http://asktom.oracle.com/pls/asktom/...:4347075367803
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2007, 08h37   #4
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Citation:
Envoyé par mnitu Voir le message
Il est possible en ajustant les paramètres rows et bindsize du sqlloader.
Etes vous-sûr de ce que vous avancez ? Pouvez-vous nous donner un exemple ? Les paramètres rows et bindsize permettent seulement de définir la taille du tableau contenant les lignes à insérer qui est inséré en 1 seule fois avec un COMMIT.
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2007, 14h26   #5
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 319
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 319
Points : 5 837
Points : 5 837
J’avais testé seulement la possibilité d’exécuter un seul commit à la fin. Mais, malheur à moi , cella ne suffit pas, parce que les enregistrements qui ne sont pas en anomalie sont toujours insérés et validés.
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h04.


 
 
 
 
Partenaires

Hébergement Web