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

Autres SGBD Discussion :

FileMaker + ODBC + PHP + MySQL


Sujet :

Autres SGBD

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 13
    Par défaut FileMaker + ODBC + PHP + MySQL
    Bonjour,

    je suis chargé de réaliser un script php utilisant ODBC, pour transmettre une base réalisée sous FileMaker 8.5 vers une base MySQL de même structure, mais vide.
    La base possède 11 tables.
    La réalisation du DSN, sa configuration ainsi que la connexion depuis la page web n'ont pas posé de problèmes. Le souci se pose lors du transfert des données...
    Sur les 4 ou 5 premières tables (contenant environ une vingtaine d'enregistrements chacune), aucun problème. Par contre, lorsqu'on arrive à une table qui contient 1302 enregistrements, déjà, ça prend un temps fou (je suis patient, donc j'ai attendu !), mais au bout de ce temps fou, il ne me transfère que 128 éléments et passe à la table suivante !

    Bref, je suis complètement dérouté, j'ai vérifié la compatibilité des types des colonnes de départ et d'arrivée, les noms des tables, des champs...je ne sais plus quoi faire, j'ai lu et relu la doc FileMaker (que je trouve bien inutile d'ailleurs), j'ai modifié max_execution_time de PHP à 0 (je suis patient j'ai dit...), ai bien sûr vérifié qu'aucune boucle infinie ne faisait planter le truc, et je ne comprends toujours pas pourquoi ce problème survient...

    En tout cas, si quelqu'un a déjà été confronté au problème, s'il peut m'indiquer une petite aide, ce serait super !! Merci.

    Lucas

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 13
    Par défaut Solution
    En fait, j'ai trouvé la cause du problème :

    à la base, j'essayais d'effectuer une requête de type "select * from table" et de tout mettre dans une variable. Beaucoup trop chargé quand la table fait 1300 ou 1700 enregistrements...

    Donc j'ai décidé de ne sélectionner que les id ("select id_table from table"), puis de parcourir la table en insérant les enregistrements un par un (en parcourant les id rapatriés !).

    J'ai donc une requête (avec odbc) du type : "select * from table where id_table='monIdCourant'". Y'a plus qu'à insérer...

    Ca marche super bien, ça prend un peu de temps mais au moins il y a du résultat !

    Maintenant j'ai en fait un autre problème : dans FileMaker, j'ai une table photo, contenant le champ id_photo. C'est ce champ que je sélectionne quand je veux insérer mes 1700 enregistrements.
    Problème : tous mes enregistrements ont des id_photo, mais quand je les récupère en php, il me donne le premier, ensuite les 345 suivants sont vides (étrange ! ) puis il finit normalement par les 1400 restants environ (tous sont insérés !).

Discussions similaires

  1. [MySQL] Optimisation de scripts PHP/MySQL
    Par DgG dans le forum PHP & Base de données
    Réponses: 368
    Dernier message: 20/11/2013, 18h59
  2. [MySQL] [Script]Optimisation de scripts Php/MySQL (2)
    Par copy dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 27/08/2004, 08h33
  3. Help ODBC avec Mysql
    Par Ashura75013 dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/02/2004, 08h11
  4. [php / mysql] pb if ( mysql_query() )
    Par dkmatt dans le forum Requêtes
    Réponses: 5
    Dernier message: 12/01/2004, 20h07

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