IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration MySQL Discussion :

Mise à jour automatique d'une base Mysql


Sujet :

Administration MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 2
    Par défaut Mise à jour automatique d'une base Mysql
    Bonjour,
    Je me décide à demander un petit coup de main.
    Je vous explique le problème :
    J'ai réalisé un site e-commerce (utilisant prestashop). Je dois à présent, et pour finaliser ce site, importer les produits et les mettre à jour de façon automatique (1 fois par jour), avec les données issues d'une base de données Access (utilisées pour gérer les produits dans la boutique physique). Et pour faciliter la chose, cette base n'a pas la même structure que la base Mysql.
    Ayant fouillé un peu sur Google, je me suis dit faire un lien ODBC.
    Mon soucis, c'est que mon hébergeur (1and1) sur lequel est hébergé la eboutique et la base de données Mysql, ne permet pas de connexion extérieur à cette base de données.
    J'ai tourné le problème dans tous les sens, et ai un peu du mal à trouver une solution.
    J'aurais tendance à dire qu'il me faut :
    -Faire un duplicata de la base mysql distante, en local sur la machine possédant la base de donnée Access.
    -Installer un lien ODBC entre ces 2 bases.
    -Faire une requête de récupération des champs adéquats sous Access et exporter les résultats sous forme de tables.
    -Exporter ces table vers le lien odbc.
    -Exporter la base de données Mysql (locale) sous forme d'un fichier .sql
    -Envoyer ce fichier sur le ftp de la boutique
    -Faire un script (sans doute php) qui mette à jour les tables Mysql en ligne.

    Je m'excuse d'avance si certaines choses sont floues. Je n'ai pas beaucoup de connaissances en Access et odbc.

    Est-ce que mon schéma semble correct ? Si oui comment le faire ? (car je n'ai jamais fait) Quel genre de script ferait la mise à jour ?
    Et si ce n'est pas correct, quelle serait la solution ?

    Merci d'avance pour votre aide.
    Bonne soirée

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Il y a peut-être un peu plus simple :
    - Exporter les données d'Access sous forme de fichier texte délimité .csv
    - Envoyer le fichier sur le serveur.
    - Utiliser une procédure SQL ou PHP que tu auras programmée qui importera les données dans la BDD MySQL dans les bonnes tables.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 47
    Par défaut
    Je suis aussi intéressé, surtout par la solution de Cinephil

    mais aurais tu un exemple de procedure sql qui importerai le fichier CSV ?

    et moi j ai aussi une autre contrainte il faut qu au moin une fois par jour on puisse recuperer les nouvelles commande et clients depuis le site

    comment faire ?

    merci

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Pour importer un fichier csv ou tout autre format de fichier texte délimité, il faut utiliser l'instruction LOAD DATA INFILE. Ça importe les données dans une table, à considérer comme une table temporaire juste pour l'importation, sauf si les données importées sont à charger tel quel dans une table structurée de la BDD. Il suffit ensuite de faire les bonnes requêtes sur la table pour répartir les données comme il faut dans les bonnes tables de la BDD. Et ça peut se programmer par exemple en PHP, ou en procédure SQL directement dans MySQL.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 2
    Par défaut
    Merci Cinephil , je vais essayer ta solution qui a l'air moins complexe que la mienne...

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 47
    Par défaut
    Cinephil,

    j essai mais meme en suivant le lien pour load data file, je n y arrive pas
    LOAD DATA INFILE 'test.csv' INTO TABLE TEST FIELDS TERMINATED BY ';'
    1 - la table test doit elle exister ou bien ca la cree automatiquement en fonction des champs

    2 - le fichier test.csv se trouve sur un autre disque (E:\TEMP\test.csv) que dois je mettre

    3 - comment importer les images de chaque produit dans la table, car la on peux les mettre dans un fichier csv

    merci

Discussions similaires

  1. [AC-2010] Mise au jour automatique d'une base frontale
    Par alexbrabo dans le forum VBA Access
    Réponses: 3
    Dernier message: 03/12/2013, 22h59
  2. Réponses: 4
    Dernier message: 09/03/2007, 19h19
  3. Mise à jour de date sur base MySQL
    Par tristus dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 14/01/2007, 13h47
  4. [Conception] mise à jour automatique d'une base de donné distante
    Par bipbip2006 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/06/2006, 16h45
  5. Mise à jour automatique d'une table access via un .xls
    Par infratunes dans le forum Access
    Réponses: 4
    Dernier message: 05/04/2006, 18h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo