[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Script Bash pour convertir BD Access vers MySQL ?



On Fri, Jul 19, 2013 at 02:11:47PM CEST, Alain Vaugham <alain@vaugham.com> said:
> Le Fri, 19 Jul 2013 13:25:06 +0200,
> Sébastien NOBILI <sebnewsletter@free.fr> a écrit :
> 
> > Le vendredi 19 juillet 2013 à 12:41, Alain Vaugham a écrit :
> > > > J'ai probablement une piste :)
> > > > 
> > > > →
> > > > http://nialldonegan.me/2007/03/10/converting-microsoft-access-mdb-into-csv-or-mysql-in-linux/
> > > 
> > > Mon expérience : les formats des champs Access ne sont pas forcément
> > > identiques à ceux de Postgres. Donc il me faut tous les reformater
> > > à la main pour les mettre au format Postgres.
> > > 
> > > S'il existe un script qui sait deviner comment transformer les
> > > formats de la source vers le format de la cible alors je suis
> > > preneur aussi!
> > 
> > Qu'entends-tu par « les formats des champs Access ne sont pas
> > forcément identiques à ceux de Postgres » ? Tu pourrais donner un
> > exemple ?
> 
> Super : c'est vendredi!
> Cependant, je ne voudrai pas voler le post initial...
> 
> Voici l'exemple pour lequel je n'ai pas encore trouvé de solution
> rapide et simple :
> Access dispose d'un champ de type NuméroAuto qui accepte par défaut un
> entier long, soit incrémental, soit aléatoire.
> L'intérêt de ce type de champ c'est que si une ligne de la table est
> détruite, le contenu de ce champ est "brûlé". Il n'est donc plus
> possible de le réutiliser dans une nouvelle ligne.
> C'est l'usage type d'une traçabilité de numéros de série. Un numéro de
> série est sensé être unique. Si un produit est détruit, son numéro de
> série ne doit plus être réutilisatable. 
> Bon, d'accord on pourrait trouver une autre solution que l'usage du
> NuméroAuto en ajoutant une colonne pour indiquer l'état du numéro de
> série... mais dans mon cas, je me contente de détruire la ligne du
> numéro de série dont le produit a été mis au rebus.
> 
> Extraire toutes les lignes de ce champ pour les mettre dans un fichier
> csv et les importer dans Postgres ne pose aucun problème. Là n'est pas
> la question.
> Par contre je n'ai pas trouvé dans Postgres l'équivalent d'un format de
> champ qui corresponde au format NuméroAuto d'Access. Dans Postgres, le
> format serial UNIQUE NOT NULL ne tient pas compte des numéro brûlés.
> 
> Donc pour migrer une telle colonne je n'ai pas de solution qui soit
> automatique.

En SQL on fait ça avec une séquence.


Reply to: