Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Manipulation de fichiers DBF

5 réponses
Avatar
Patrick
Bonjour a tous,
Je débute en perl et je dois uploader des fichiers dbf pour mettre les
données dans une base mysql.Vous voulez bien me donner une idée?ou bien
si vous pouvez m'indiquer un tutos sur le sujet, ce serais sympa.
Merci.

5 réponses

Avatar
espie
In article <gnu5fr$21um$,
Patrick wrote:
Bonjour a tous,
Je débute en perl et je dois uploader des fichiers dbf pour mettre les
données dans une base mysql.Vous voulez bien me donner une idée?ou bien
si vous pouvez m'indiquer un tutos sur le sujet, ce serais sympa.
Merci.



Pour tout ce qui est conversion de base de donnees, il faut commencer par
jeter un oeil a SQL::Translator (appele aussi SQLfairy). Je n'ai pas regarde
s'il gere DBF -> mysql...
Avatar
Paul Gaborit
À (at) Mon, 23 Feb 2009 13:00:51 +0000 (UTC),
(Marc Espie) écrivait (wrote):
In article <gnu5fr$21um$,
Patrick wrote:
Bonjour a tous,
Je débute en perl et je dois uploader des fichiers dbf pour mettre les
données dans une base mysql.Vous voulez bien me donner une idée?ou bien
si vous pouvez m'indiquer un tutos sur le sujet, ce serais sympa.
Merci.



Pour tout ce qui est conversion de base de donnees, il faut commencer par
jeter un oeil a SQL::Translator (appele aussi SQLfairy). Je n'ai pas regarde
s'il gere DBF -> mysql...



On peut compléter par DBI et tous les DBD::* qui vont bien.

SQL::Translator permet de convertir la structure des relations et
associations. Et DBI (et DBD::*) permet, ensuite, de transférer les
données.

On peut aussi passer par des frameworks plus évolués comme DBIx (mais
ils ne fonctionnent pas au-dessus de n'importe quel DBD:::*).

Pour attaquer des fichiers DBF, il me semble qu'il faut passer par les
modules Xbase et DBD::XBase...

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Perl en français - <http://perl.mines-albi.fr/>
Avatar
Mihamina Rakotomandimby (R12y)
Marc Espie wrote:
Pour tout ce qui est conversion de base de donnees, il faut commencer par
jeter un oeil a SQL::Translator (appele aussi SQLfairy). Je n'ai pas regarde
s'il gere DBF -> mysql...



Le module XBase sait lire les dbf.
Une fois extraites les info sont stockables dans un hash et ensuite on
peut les mettre dans un MySQL avec l'aide d'un autre module.

Les souci que _je_ trouve aux "converteurs directs" (whatever2whatever)
c'est qu'ils imposent le nom des colonnes et la structure des données
(le charset aussi).

A mon humble avis, en passant par un hash on a plus de possibilités de
transformations et remises en forme.
Avatar
espie
In article <gnu924$7u0$,
Mihamina Rakotomandimby (R12y) wrote:
Les souci que _je_ trouve aux "converteurs directs" (whatever2whatever)
c'est qu'ils imposent le nom des colonnes et la structure des données
(le charset aussi).

A mon humble avis, en passant par un hash on a plus de possibilités de
transformations et remises en forme.



Ca depend pas mal du nombre de tables a convertir et de leur taille.
Quand ca commence a etre de la vraie base de donnees de taille reelle,
bonne chance pour bosser avec juste un hash en memoire.

Pour le reste, il y a generalement moyen d'intercaler des filtres la ou
on veut. Tu as regarde comment etait architecture SQL::Translator avant de
reinventer la roue ?
Avatar
Mihamina Rakotomandimby (R12y)
Marc Espie wrote:
Ca depend pas mal du nombre de tables a convertir et de leur taille.
Quand ca commence a etre de la vraie base de donnees de taille reelle,
bonne chance pour bosser avec juste un hash en memoire.



Patrick et moi cherchons ensemble et la taille de la base en question
est "réduite". Le fichier .dbf en question fait 300Ko. Les autres auront
une taille similaire ou doublée tout au plus.

Pour le reste, il y a generalement moyen d'intercaler des filtres la ou
on veut. Tu as regarde comment etait architecture SQL::Translator avant de
reinventer la roue ?



Non, mais puisque tu me le suggères, je vais le faire.
Merci pour la suggestion.