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

Requêtes MySQL Discussion :

manipulation fichier avec Mysql


Sujet :

Requêtes MySQL

  1. #1
    Nouveau membre du Club
    Profil pro
    stagiaire
    Inscrit en
    Octobre 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : stagiaire

    Informations forums :
    Inscription : Octobre 2005
    Messages : 20
    Points : 26
    Points
    26
    Par défaut manipulation fichier avec Mysql
    Bonjour,

    Voici mon probleme : j'effectue des réquetes périodiques et je stocke le resultat dans un fichier :
    select * from ma_base INTO OUTFILE '/tmp/resultat.txt' where ...

    Le soucis est que ca echoue si le fichier existe deja !

    J'aimerais pouvoir ecraser ce fichier ou alors puisque d'apres ce que j'ai vu que c'etait pas possible, supprimer ce fichier par le script sql puis effectuer ma requete.

    Connaissez-vous une maniere elegante de m'en sortir en restant completement sous Mysql.

    Merci a vous,
    Fabrice

  2. #2
    Membre du Club Avatar de Cygnus Saint
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    Je voulais utiliser la même fonction, aussi je l’ai testé sous le Phpmyadmin de mes pages perso Free, mais Mysql me dit que je n’ai pas le droit d’utiliser cette fonction (acces denied).
    Quel genre de serveur utilises tu ? Quel est ton hébergeur ?

    Sinon, pour ton problème: Tu ne devrais peut être ne pas effacer ce fichier et plutöt tenter de gérer plusieurs fichiers avec ta requête stockée(fichier1, fichier2, fichier3).

    As tu vérifié que les droits du dit fichier sont en mode lecture ? Le problème vient peut être de là ?

  3. #3
    Membre du Club Avatar de Cygnus Saint
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    La forme SELECT ... INTO OUTFILE 'nom_fichier' de SELECT écrit les lignes sélectionnées dans un fichier. Le fichier est crée sur le serveur et ne peut y être déjà présent (cela permet entre autre d'éviter la destruction des tables et de fichiers tel que /etc/passwd ). Vous devez avoir le droit FILE sur le serveur pour utiliser cette forme de SELECT . SELECT ... INTO OUTFILE à pour but principal de vous permettre de réaliser des dumps rapides des tables sur la machine serveur. Si vous voulez créer le fichier sur une autre machine, vous ne pouvez utiliser SELECT ... INTO OUTFILE . Dans ce cas là, vous pouvez utiliser à la place un programme client comme mysqldump --tab ou mysql -e "SELECT ..." > fichier pour générer le fichier.

    SELECT ... INTO OUTFILE est le complément de LOAD DATA INFILE ; La syntaxe pour la partie export_options de la requête se compose des mêmes clauses FIELDS et LINES que celles utilisées avec la commande LOAD DATA INFILE . Syntaxe des LOAD DATA INFILE .

  4. #4
    Nouveau membre du Club
    Profil pro
    stagiaire
    Inscrit en
    Octobre 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : stagiaire

    Informations forums :
    Inscription : Octobre 2005
    Messages : 20
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par -Debutant-
    Je voulais utiliser la même fonction, aussi je l’ai testé sous le Phpmyadmin de mes pages perso Free, mais Mysql me dit que je n’ai pas le droit d’utiliser cette fonction (acces denied).
    Quel genre de serveur utilises tu ? Quel est ton hébergeur ?

    Sinon, pour ton problème: Tu ne devrais peut être ne pas effacer ce fichier et plutöt tenter de gérer plusieurs fichiers avec ta requête stockée(fichier1, fichier2, fichier3).

    As tu vérifié que les droits du dit fichier sont en mode lecture ? Le problème vient peut être de là ?
    Ma base est directement sur un serveur personnel.
    Tu as peut etre cette erreur "ERROR 1045 (28000): access denied for user..." car il faut autoriser la base MySql a ecrire des fichiers ce qui est desactive par defaut : va dans privileges -> ton user -> puix tu coches FILE

    Merci pour tes propositions mais : plusieurs fichiers me convient pas, droit d'accés, tout est correct.

    Bonne continuation,
    en espérant que d'autres auront reponse a mon probleme

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Sauvegarder un fichier avec MySQL JEE
    Par encours dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 23/07/2012, 14h52
  2. Manipulation de données, de fichiers avec Wxwidgets
    Par mmansour79 dans le forum wxWidgets
    Réponses: 3
    Dernier message: 02/03/2007, 13h21
  3. exécuter un fichier .sql avec mySQL.lib (en C++)
    Par netah25 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 18/09/2006, 09h36
  4. download et upload des fichier avec JSP & mysql
    Par MSM_007 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 17/07/2006, 15h20
  5. Manipulation des fichiers avec fstream.
    Par Pragmateek dans le forum SL & STL
    Réponses: 4
    Dernier message: 04/04/2006, 13h12

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