Forum Clubic

Importation de BDD

est il possible d’importer dans une BDD les lignes contenues dans un fichier excel??
Il doit falloir le meme nombre de colonne/entité dans chaque pas de pb…
comment faire ?? et comment mettre la BDD a jour en ne modifiant que le document excel??

Salut,

rien de plus simple il faut créer une table liée.

Dans la fenetre de access, section “Tables”, fait un clic droit et choisi : “Lier les tables”

dsl jai oublié de preciser je souhaite utiliser mysql…et je precise aussi que mon fichier est deja converti en .csv…

Ah ok effectivement ca change tout :stuck_out_tongue:


Il faut d'abord que tu upload ton CSV sur ton serveur mysql, ensuite tu utilise la requete suivante :

LOAD DATA LOCAL INFILE ‘/fichier.csv’
INTO TABLE table_test
FIELDS TERMINATED BY ‘,’ <-- pense a modifier ca si ton fichier n’est pas séparé par des virgules
LINES TERMINATED BY ‘\n’
(champ1, champ2, champ3); nom de tes champs

fichier.csv : le nom de ton fichier
table_test : le nom de la table dans laquelle tu fais l’importation

ben oui lol…j’ai eu plusieurs infos de comment faire j’ai a peu pres compris mais si il y en a avec des methodes moins Systeme D ca m’anrrgerai…

Pour que ca soit automatique, pas de solutions miracles, mais tu peux faire un script qui execute cette requete à intervalle régulier par exemple.

j’ai pas compris le coup des virgules et des terminated by

ton fichier CSV, il est délimité par un caractère. En général c’est une virgule “,” ou un point virgule “;”
dans FIELDS TERMINATED BY tu mets le caractères qui délimite tes champs
LINES TERMINATED BY ‘\n’ ca veut dire que les lignes sont délimités par des sauts de ligne tout simplement.

ah ok…donc en gros a la fin de chaque case dans mon fichier excel je met une , ou un ; ??? :smiley:
si c’est ca c’est bon tt piger :wink: lol

NON

quand tu exportes ton fichier Excel XLS, en fichier CSV, ca le fait tout seul… Tu fais “Enregistrer SOUS” dans Excel, et tu choisi "CSV (séparateur : point-virgule) (*.csv)

Donc la le séparateur sera le point-virgule “;” donc dans ta requete MySQL tu vas mettre : FIELDS TERMINATED BY ‘;’

Mais je pensais que tu savais tout ca deja, tu me dit avoir déja ton fichier en .CSV ???

oui il est en csv mais ce n’est pas moi qui l’ai crée donc je ne sais pas si c’est un ; ou une ,


nn merci en fait c'est bon c'est un ; a chaque fois que j'enregistre il me le precise !! merci de ta patience !!!

Aucun problème :wink:

ce que vous m’avez ecrit ne marche pas cher moi lol…il faut bien le mettre dans une requette sql hin??? enfin si c’est pas le cas j’ai pas compri la logique :D:D

Salut,

deja teste le en ligne de commande pour voir. Apres tu feras une requete

en passant par php_my_admin ca passe tres bien les lignes sont insérees comme il faut…par contre par requette sqlca ne marche jamais…

Donc la commande est bonne.

Cherche un peu, tu as du oublier quelque chose dans ta requete. Tu peux pas mettre cette commande telle quelle. Il faut surement que tu adaptes pour indiquer, la base etc… :wink:


Donne moi ta requete stp?

mysql_query('LOAD DATA INFILE “base.csv”
INTO TABLE organigramme
FIELDS TERMINATED BY “;”
ENCLOSED BY " " "
LINES TERMINATED BY “\n” ');

Où se trouve le fichier base.csv ?
Quelle est l’erreur retournée (mysql_error()) ?

la base est a la source…et il n’y a pas d’erreur afficher …C’est juste que la base reste vide

Pour faire ca proprement tu appelles ta requete depuis une variable :

mysql_query($query);

avec $query qui contient ta requete.

ManPage de mysql_query Ca pourra surement t’aider.


Quand tu dis "à la source??" tu execute bien ta requete depuis une page se trouvant dans le même répertoire que ton fichier? sinon problème.