Partage
  • Partager sur Facebook
  • Partager sur Twitter

Requête pour ajouter une image

Sujet résolu
    29 novembre 2010 à 20:22:10

    Bonsoir,

    je cherche la requête a effectué pour ajouter une image dans ma base de donnée sans utiliser du php (je ne cherche pas a faire un site).
    L'image se trouvant sur mon disque dur.

    Par ex :

    j'ai la table :

    CREATE TABLE `image` (
       `Nom_Photo` varchar(20) NOT NULL,
       `Img` BLOB NOT NULL
    )
    


    j'aimerai pouvoir écrire directement la requete :
    INSERT INTO "image" ("nom_photo", "Img")
    VALUES ("toto", "???????")
    


    Est ce que c'est possible?? J'attends vos réponses!!
    Expliquez simplement je suis débutante, merci!!

    KITTY
    • Partager sur Facebook
    • Partager sur Twitter
      29 novembre 2010 à 20:27:27

      Il n'est vraiment pas conseillé de stocker des images dans une base de données. Si tu veux faire ça, enregistre les images dans un répertoire et sauvegarde les paths dans la BDD mais pas l'image.
      • Partager sur Facebook
      • Partager sur Twitter
        29 novembre 2010 à 20:31:05

        Est ce qu'il serait possible de m'expliquer (simplement :) ) ce qu'est un PATH?

        Ou alors me donner un exemple?

        Merci!
        • Partager sur Facebook
        • Partager sur Twitter
          29 novembre 2010 à 20:33:52

          Le chemin pour accéder à ton fichier. Ou alors juste le nom du fichier si tu mets les images toutes dans le même répertoire.
          • Partager sur Facebook
          • Partager sur Twitter
            30 novembre 2010 à 11:49:23

            Citation : Debian

            Il n'est vraiment pas conseillé de stocker des images dans une base de données [...]


            On pourrait en connaitre la raison ?

            Tracker.
            • Partager sur Facebook
            • Partager sur Twitter
              30 novembre 2010 à 16:24:50

              @Tracker : Ce lien de SQLPro pourrait peut-être t'intéresser.
              • Partager sur Facebook
              • Partager sur Twitter
                30 novembre 2010 à 16:52:24

                Le préambule de ton lien ne justifie en rien l'utilisation des chemins, chose qui d'ailleurs est non justifiable (sauf si l'on ne possède qu'un quota limité pour la dbb).

                Tracker.
                • Partager sur Facebook
                • Partager sur Twitter
                  30 novembre 2010 à 16:59:47

                  C'est pas à moi qu'il faut dire ceci, mais à SQLPro. Je n'ai pas les connaissances nécessaires pour prendre une position dans ce débat, mais je dois avouer que j'ai tendance à faire confiance à SQLPro.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    30 novembre 2010 à 17:48:03

                    SQLPro contient une mine d'articles hyper intéressants, par contre le lien fournit ne donne pas de raison objective permettant de choisir entre:
                    - stockage mixte (path en base/binaire sur disque)
                    - stockage SQL complet associé à un cache sur disque.

                    Tracker.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      1 décembre 2010 à 8:56:26

                      Personnellement, je trouve ça vraiment pas pratique de ne pas pouvoir accéder à mes fichiers images facilement. Devoir faire des requêtes pour avoir un aperçu, j'aime pas du tout. Et si le serveur SQL n'est pas en local, il y a en plus des délais de transfert de données entre le serveur web et le serveur SQL. Après s'il y a plusieurs serveurs web, c'est vrai que ça permet de tout centraliser mais dans ce cas-là, je préférerai faire un serveur de fichier. Après comme dit au dessus, si la taille de la BDD est limitée, ça prends très vite de la place.

                      Dernier argument mais dont je n'ai jamais eut à faire donc ce ne sont que des suppositions. Pour moi sur une BDD, il faut réduire au maximum les temps d'écriture pour éviter les concurrences. Suffit de voir le sdz par exemple, les temps de lecture sont corrects mais pour l'écriture, dès qu'on veut poster une réponse, ça prends super longtemps. Donc si on commence à mettre les images dans la BDD, les temps d'écriture devraient être plus longs et donc augmenter (toujours selon moi, donc rien de certain) les temps de réponse du serveur SQL.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        1 décembre 2010 à 15:26:27

                        Une requête pour faire un aperçu si aucun cache fichier n'existe à la dimension demande bien sûr...
                        Tu donnes pas d'arguments clairs en faveur de ta solution d'ailleurs y'en a pas réellement, stocker un chemin sans fichier (pb de stockage non transactionnel) est pour moi un problème d'intégrité grave.

                        Tracker.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          1 décembre 2010 à 16:22:01

                          Citation : Tracker

                          [...] stocker un chemin sans fichier (pb de stockage non transactionnel) est pour moi un problème d'intégrité grave.

                          Tracker.



                          C'est tout à fait vrai que ce sera plus facile de préserver l'intégrité si les images sont dans la base de données. De plus, si on stocke les images dans la BDD, les backups du serveur seront uniformes (on backup la BDD plutôt que BDD + fichiers), mais en contrepartie, ça risque de demander plus de ressources au serveur, ça sera plus difficile à stocker dans la RAM, etc.

                          Bref, aucun des deux cas ne me choque réellement, je ne pourrais pas conseiller l'un plus que l'autre (personnellement, j'irais avec les fichiers), il y a du bon et du mauvais des deux côtés.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            1 décembre 2010 à 17:40:57

                            Citation : Tracker

                            Une requête pour faire un aperçu si aucun cache fichier n'existe à la dimension demande bien sûr...Tracker.



                            je suis désolé mais j'ai vraiment rien compris.

                            De toute façon en informatique (et pas seulement), il n'y a pas de solution unique et miraculeuse. Chacune a ses avantages et inconvénients et chacun prends ses décisions en fonction de son besoin et de ce qu'il a jugé comme mieux même si ça ne l'est pas forcément. Pour moi, stocker les images dans la BDD n'est pas une solution. Je ne suis pas le seul, un de mes profs qui travaillait à Cadarache m'a dit la même chose donc ce n'est pas une solution utilisée juste pour les petits hébergements gratuits qui manquent de place dans leur BDD. Après c'est pas pour autant la meilleure solution mais c'est la mienne actuellement.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              1 décembre 2010 à 18:09:51

                              Je voulais dire que dès que tu gères des images "utilisateur" tu dois maintenir un cache fichier dépendant des tailles des vignettes requises par ton application (en fonction du contexte d'affichage les images peuvent avoir des tailles différentes). L'approche du cache est également à prendre en compte pour des questions de sécurité (pb mod_mime). A partir de là qu'un cache (fichier) soit fabriqué une fois depuis une image de référence stockée sur disque ou en bdd ça fait pas grande différence (à tous les niveaux).

                              Tracker.
                              • Partager sur Facebook
                              • Partager sur Twitter

                              Requête pour ajouter une image

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown