|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2006 Messages : 40 ![]() |
Je souhaite importer, avec sqlloader, un fichier texte contenant des enregistrements typés :
une colonne type permet de déterminer la structure chargées et de déduire la table cible. Les colonnes ont une longueur fixe (en fonction du type de record). Jusque là tout va bien. La où ça se complique, c'est que certains types d'enregistrements sont sur plusieurs lignes. Jusqu'à 2 lignes je sais faire (continue if). A delà non... Une idée ? |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
tu as essayé avec CONCATENATE?
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2006 Messages : 40 ![]() |
Visiblement, le concatenate doit s'appliquer à tous les enregistrements signifie que les enregistrements sont sur 3 lignes.
Malheureusement, j'en ai sur 1 lignes et d'autres sur 3. Le continueif semble pas mal mais il semble qu'il faut un caractère de continuation sur la 2ème ligne et ça, j'ai pas... |
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
si les enregistrements sont de tailles fixe, tu devrais toujours avoir le meme nombre de ligne, non?
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2006 Messages : 40 ![]() |
Non, non.
Il y a different types d'enregistrement (chaque type correspondant à une table). Lorsqu'il y a peu de colonnes dans la table, une ligne suffit pour décrire l'enregistrement. Sinon, l'enregistrement doit être continué sur une ou plusieurs lignes. |
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
oui, donc tu as plusieurs fichiers de controle, non? tu peux donc pour chaque table définir le nombre de ligne par enregistrement... Je ne vois pas très bien comment les enregistrements sont séparés.
|
|
00
|
|
|
#7 | |||
|
Nouveau Membre du Club
![]() Inscription : juillet 2006 Messages : 40 ![]() |
Supposons que j'ai une table T1 (id1, col10) et T2 (id2, col20, col22, col23)
dans T1 (1;TOTO), (2;TATATUTU) dans T2 (1;TOTO;BEAUTOTO;MOCHETOTO;PABOTOTO), (2;TATA;BELTATA;MOCTATA;PABELTATA) Le fichier aurait le format suivant : Citation:
Je sais dire Code :
|
|||
|
|
00
|
|
|
#8 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
c'est très clair. tu fais du multitable load.
est-ce que tu pourrais modifier le fichier avec perl par exemple avant de le charger? |
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2006 Messages : 40 ![]() |
En fait, nous avons un traitement existant qui fait le boulot en java à partir d'une description du fichier d'entrée en xml.
Nous ne souhaitons proposer une l'option sqlloader que si cela reste simple. Pour le moment, je ne vois que 2 solutions : 1) celle que tu as proposé pour mettre tous les records sur une seule ligne 2) un sqlloader pour traiter les records qui sont sur une ligne. Puis un deuxième pour traiter les lignes qui sont sur 3 lignes (avec concatenate 3) D'autres idées ? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com