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 PostgreSQL Discussion :

Insertion d'un exécutable dans une base de donnée PostgreSQL (pas le chemin, l'exécutable lui-même)


Sujet :

Requêtes PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Par défaut Insertion d'un exécutable dans une base de donnée PostgreSQL (pas le chemin, l'exécutable lui-même)
    Bonjour ,
    je suis entrain de chercher une méthode qui me permet d'inserer une fichier .exe dans une table de ma base de donnée .
    j'ai deja essayé les Larges Objects il m'insére juste les chemins pas le fichier . (http://www.developpez.net/forums/d18...age-jpg-table/)
    ma question est ce que c possible ou pas d'inserer un fichier .exe pas son chemin car aprés je veux bien l'acceder de n'importe quel client ??

    très cordialement.

  2. #2
    Membre éprouvé
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Par défaut
    Je pense que cela peut poser quelques problèmes. Un exécutable n'est pas forcément portable, donc selon le client qui y accède il ne sera peut être pas utilisable.
    Ensuite il faut bien comprendre qu'un exécutable doit être local pour s'exécuter, donc même en le stockant dans la base il faudra le récupérer entièrement chez le client pour pouvoir le lancer. Est-ce qu'il n'y aurait pas de façon de faire plus simple ? Comme une copie de fichier directement.

    Sinon pour réaliser il faut copier entièrement le code binaire de l'exécutable dans un champ binaire d'une table. Je pense qu'il faudrait chercher de ce côté là :
    https://postgresql.developpez.com/do...tion/francais/ (en bas de page : partie Format binaire)

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Par défaut
    Citation Envoyé par maicem Voir le message
    ma question est ce que c possible ou pas d'inserer un fichier .exe pas son chemin car aprés je veux bien l'acceder de n'importe quel client ??
    Oui c'est possible avec la commande client psql \lo_import ou sur le serveur avec la fonction intégrée lo_import()

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Par défaut
    Citation Envoyé par estofilo Voir le message
    Oui c'est possible avec la commande client psql \lo_import ou sur le serveur avec la fonction intégrée lo_import()
    Bonjour,

    j'ai pas comprid comment avec le clé oid le client peut récupérer le fichier .exe sans aucune indication (son chemin sur le serveur).

    très cordialement.

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Par défaut
    Le client qui récupère le fichier utilise la fonction lo_export() ou bien la commande psql \lo_export. Il faut passer l'OID qui a été renvoyé précédemment par lo_import (la "clef")

    A l'intérieur de la base, le contenu du fichier n'a pas de chemin, il est à l'intérieur d'une table système.

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Par défaut
    Citation Envoyé par estofilo Voir le message
    Le client qui récupère le fichier utilise la fonction lo_export() ou bien la commande psql \lo_export. Il faut passer l'OID qui a été renvoyé précédemment par lo_import (la "clef")

    A l'intérieur de la base, le contenu du fichier n'a pas de chemin, il est à l'intérieur d'une table système.
    tu peux me dire comment je peux acceder a mon fichier apartir de l'oid a partir d'un client (quelle requette à utiliser ).

    merci d'avance .

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Par défaut
    Ce n'est pas avec une requête qu'on le fait, puisqu'une requête SQL n'a aucun moyen d'écrire sur le disque de la machine cliente.
    C'est le code client qui doit s'en occuper, et techniquement ça dépend dans quel langage il est écrit.
    Par exemple si c'est du php, il y a une fonction pg_lo_export()
    En Perl DBI, il y a une méthode pg_lo_export dans le driver Pg.
    En C il y a des fonctions pour ça dans la librairie libpq.
    etc...
    Et à un plus haut niveau on peut toujours appeler l'exécutable psql avec une commande \lo_export avec l'oid et le chemin en local du fichier à créer.

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/07/2013, 13h27
  2. Procédure stockée pour l'insertion d'un cv dans une base de données
    Par o.abdelmalek13 dans le forum Développement
    Réponses: 2
    Dernier message: 28/05/2012, 16h50
  3. Insertion tableau [x] [y] dans une base de données
    Par jean1190 dans le forum Langage
    Réponses: 7
    Dernier message: 07/04/2009, 15h28
  4. Insertion des contenus gtkentry dans une base de données
    Par charles9 dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 02/06/2008, 18h13
  5. [Conception] insertion sql en php, dans une base de donnée ?
    Par artotal dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 24/10/2005, 04h34

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