SQL Loader
Fermé
cleops
Messages postés
24
Date d'inscription
mardi 6 septembre 2005
Statut
Membre
Dernière intervention
19 avril 2006
-
26 sept. 2005 à 17:08
puypuy - 19 janv. 2009 à 18:02
puypuy - 19 janv. 2009 à 18:02
A voir également:
- Trailing nullcols
- Récupération serveur sql - Télécharger - Gestion de données
- Windows loader - Télécharger - Gestion de fichiers
- Sql query - Télécharger - Gestion de données
- Sql replace plusieurs valeurs - Forum Programmation
- Delete cascade sql - Forum Programmation
9 réponses
cleops
Messages postés
24
Date d'inscription
mardi 6 septembre 2005
Statut
Membre
Dernière intervention
19 avril 2006
2
27 sept. 2005 à 17:47
27 sept. 2005 à 17:47
J'ai modifie mon script pour qu'il n'ait plus l'erreur de commit.
LOAD DATA INFILE 'fichier.log'
APPEND INTO TABLE event
FIELDS TERMINATED BY ';'
(ID position (*) integer,DATE position (*) date,EVENT_ID p
osition (*) integer,LOGIN_NAME position (*) varchar,CANAL position (*) varchar)
Donc je n'ai plus de commit mais il rejete toutes les lignes de mon fichier au lieu de les ecrire dans ma table
Record 1: Rejected - Error on table AACSTA_USER_EVENT, column CANAL.
Column not found before end of logical record (use TRAILING NULLCOLS)
Record 2: Rejected - Error on table AACSTA_USER_EVENT, column CANAL.
Column not found before end of logical record (use TRAILING NULLCOLS)
Et c'est comme ca pour chaque ligne de mon fichier. Quelqu'un sait pourquoi il n'accepte pas la derniere colonne?
LOAD DATA INFILE 'fichier.log'
APPEND INTO TABLE event
FIELDS TERMINATED BY ';'
(ID position (*) integer,DATE position (*) date,EVENT_ID p
osition (*) integer,LOGIN_NAME position (*) varchar,CANAL position (*) varchar)
Donc je n'ai plus de commit mais il rejete toutes les lignes de mon fichier au lieu de les ecrire dans ma table
Record 1: Rejected - Error on table AACSTA_USER_EVENT, column CANAL.
Column not found before end of logical record (use TRAILING NULLCOLS)
Record 2: Rejected - Error on table AACSTA_USER_EVENT, column CANAL.
Column not found before end of logical record (use TRAILING NULLCOLS)
Et c'est comme ca pour chaque ligne de mon fichier. Quelqu'un sait pourquoi il n'accepte pas la derniere colonne?
crabs
Messages postés
908
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
3 août 2008
506
26 sept. 2005 à 21:07
26 sept. 2005 à 21:07
Salut,
Y aurai pas un problème avec les dates qui ne semblent pas être au format
mysql : YYYY-MM-DD ?
Sinon, files la structure complète de la table event.
Y aurai pas un problème avec les dates qui ne semblent pas être au format
mysql : YYYY-MM-DD ?
Sinon, files la structure complète de la table event.
cleops
Messages postés
24
Date d'inscription
mardi 6 septembre 2005
Statut
Membre
Dernière intervention
19 avril 2006
2
26 sept. 2005 à 21:38
26 sept. 2005 à 21:38
Salut,
Tout d'abord merci de m'avoir repondu.
En fait j'utilise une base de données oracle.
Voici la structure de la table event
- id: number
- date: date
- event_id: number
- login: varchar2
- C: number
Merci d'avance de ton aide
Tout d'abord merci de m'avoir repondu.
En fait j'utilise une base de données oracle.
Voici la structure de la table event
- id: number
- date: date
- event_id: number
- login: varchar2
- C: number
Merci d'avance de ton aide
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
426
27 sept. 2005 à 07:22
27 sept. 2005 à 07:22
Bonjour,
Je ne travail pas des masses avec oracle, mais les champs date et login n'étant pas des entier ou booléens, tu devrais les quoter dans ton fichier text ((sauf si c'est un genre de bcp, et enccore, suis pas sure.
265276;'26/09/05';1147;'0665804907';1
Autre chose, login -> varchar 2, le 2 c'est une faute de frappe ? parce que 0665804907, ça fait 10 caractéres ;)
++
Je ne travail pas des masses avec oracle, mais les champs date et login n'étant pas des entier ou booléens, tu devrais les quoter dans ton fichier text ((sauf si c'est un genre de bcp, et enccore, suis pas sure.
265276;'26/09/05';1147;'0665804907';1
Autre chose, login -> varchar 2, le 2 c'est une faute de frappe ? parce que 0665804907, ça fait 10 caractéres ;)
++
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
cleops
Messages postés
24
Date d'inscription
mardi 6 septembre 2005
Statut
Membre
Dernière intervention
19 avril 2006
2
27 sept. 2005 à 11:35
27 sept. 2005 à 11:35
Salut,
J'ai remodifie mon fichier d'entree car il y avait des caracteres et des espaces en trop.
Dans mon script login est bien un varchar2(50) car des fois il y a plus de 10 caracteres
Maintenant j'ai ces erreurs qui apparaissent lorsque j'execute mon script. Ca veut dire quoi?
Commit point reached - logical record count 50
Commit point reached - logical record count 100
Merci d'avance pour ton aide
J'ai remodifie mon fichier d'entree car il y avait des caracteres et des espaces en trop.
Dans mon script login est bien un varchar2(50) car des fois il y a plus de 10 caracteres
Maintenant j'ai ces erreurs qui apparaissent lorsque j'execute mon script. Ca veut dire quoi?
Commit point reached - logical record count 50
Commit point reached - logical record count 100
Merci d'avance pour ton aide
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
426
27 sept. 2005 à 16:14
27 sept. 2005 à 16:14
Ca doit vouloir dire que par défaut, Oracle commit tout les 50 enregistrement, ça ne ressemble pas a une erruer, plus a une information ;)
++
++
cleops
Messages postés
24
Date d'inscription
mardi 6 septembre 2005
Statut
Membre
Dernière intervention
19 avril 2006
2
27 sept. 2005 à 17:50
27 sept. 2005 à 17:50
Petite precision le nom de la table n'a rien avoir avec l'erreur event=aacsta_user_event.
merci d'avance pour votre aide
merci d'avance pour votre aide
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
426
27 sept. 2005 à 23:12
27 sept. 2005 à 23:12
Heu... le commit, n'est pas une erreur tu a regardé l'état de ta table avant de refaire ton script ?
COMMIT -> Accepter les précédentes requêtes
ROLLBACK -> Annuler les précédentes requêtes
Donc:
- Commit point reached - logical record count 50
50 lignes insérées, Oracle commit automatiquement
- Commit point reached - logical record count 100
100 lignes insérées (50+50), Oracle commit automatiquement
Si ton script ne t'a dit que ça, c'est qu'il fonctionnait trés bien ;)
De plus, ta derniere colonne, c'est C ou CANAL ?
Si tu nous donnais la structure exacte de ta table (retourner par une procstock ou autre moyen disponible avec oracle ) on pourrait sans doute mieux comprendre le probléme..
++
COMMIT -> Accepter les précédentes requêtes
ROLLBACK -> Annuler les précédentes requêtes
Donc:
- Commit point reached - logical record count 50
50 lignes insérées, Oracle commit automatiquement
- Commit point reached - logical record count 100
100 lignes insérées (50+50), Oracle commit automatiquement
Si ton script ne t'a dit que ça, c'est qu'il fonctionnait trés bien ;)
De plus, ta derniere colonne, c'est C ou CANAL ?
Si tu nous donnais la structure exacte de ta table (retourner par une procstock ou autre moyen disponible avec oracle ) on pourrait sans doute mieux comprendre le probléme..
++
cleops
Messages postés
24
Date d'inscription
mardi 6 septembre 2005
Statut
Membre
Dernière intervention
19 avril 2006
2
28 sept. 2005 à 09:10
28 sept. 2005 à 09:10
Salut,
Tu avais raison le commit ca veut dire que j'avais reussi l'insertion des fichiers. Je n'avais pas fait attention pour moi ct une erreur. Du coup j'ai passe une demi journée en plus a chercher pour rien.
Pour info il ne faut pas mettre le type des variables:
LOAD DATA INFILE 'fichier.log'
APPEND INTO TABLE event
FIELDS TERMINATED BY ';'
(ID position (*),DATE position (*),EVENT_ID position (*),L
OGIN_NAME position (*),CANAL position (*))
Merci beaucoup pour ton aide asevere. Sans toi j'aurais encore tourner en rond :)
A+
Tu avais raison le commit ca veut dire que j'avais reussi l'insertion des fichiers. Je n'avais pas fait attention pour moi ct une erreur. Du coup j'ai passe une demi journée en plus a chercher pour rien.
Pour info il ne faut pas mettre le type des variables:
LOAD DATA INFILE 'fichier.log'
APPEND INTO TABLE event
FIELDS TERMINATED BY ';'
(ID position (*),DATE position (*),EVENT_ID position (*),L
OGIN_NAME position (*),CANAL position (*))
Merci beaucoup pour ton aide asevere. Sans toi j'aurais encore tourner en rond :)
A+
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
426
28 sept. 2005 à 22:48
28 sept. 2005 à 22:48
De rien, ça me fais plaisir... c'est tellement rare que j'ai le temps de venir :)
bonjour à tous ,
moi aussi je travaille sur le meme sujet (structurer des données à partir d'un fichier texte vers une table ) avec des recherches et des demandes par si par la ==> j'ai pu savoir qu'il faudré travailler avec sql loader mais je ntravaille pas sur BD oracle mais une BD sql server 2005
ce ke je voudré savoir cé k'une fois ke jé ecrit le script comme vous l'avez fait , comment l'excécuter pour kil envoi les données a partir du fichier texte vers la table que jé crée dans une nouvelle BD dans sql server 2005 ?
et merci d'avance.
moi aussi je travaille sur le meme sujet (structurer des données à partir d'un fichier texte vers une table ) avec des recherches et des demandes par si par la ==> j'ai pu savoir qu'il faudré travailler avec sql loader mais je ntravaille pas sur BD oracle mais une BD sql server 2005
ce ke je voudré savoir cé k'une fois ke jé ecrit le script comme vous l'avez fait , comment l'excécuter pour kil envoi les données a partir du fichier texte vers la table que jé crée dans une nouvelle BD dans sql server 2005 ?
et merci d'avance.
19 janv. 2009 à 18:02
donc il faut ecrire
LOAD DATA INFILE 'fichier.log'
APPEND INTO TABLE event
FIELDS TERMINATED BY ';' TRAILING NULLCOLS
(ID position (*) integer,DATE position (*) date,EVENT_ID p
osition (*) integer,LOGIN_NAME position (*) varchar,CANAL position (*) varchar)
ce qui te permettra d'eviter le colonne nulles