Insérer fichier dans table sql - SQL/NoSQL - Programmation
Marsh Posté le 17-10-2005 à 14:34:49
"Il s'ouvre tout seul" quand tu fais un SELECT, ça ne veut rien dire du tout... Jamais un SELECT ne fera ouvrir quoique ce soit.
Marsh Posté le 17-10-2005 à 14:35:44
1- il vaut mieux sauvegarder uniquement le chemine vers le fihier ( mais attention à ce que ce chemin soit bien unique )
2- pour faire ouvrir le fichier pdf automatiquement, il faudra le faire dans le php ( soit sous forme d'un lien <a href="lienverslepdf.pdf"> cliquez ici pour ouvrir</a> ) soit en manipulant les header
Marsh Posté le 17-10-2005 à 14:37:04
ReplyMarsh Posté le 17-10-2005 à 14:39:07
Je suis daccord évidemment mais ma question en fait c plus:
Est-ce qu'on peu pas faire un type de select spéciale genre "SELECT FILE" (je dit n'importe quoi, juste pour donner un exemple) ou alors faut il faire un INSERT different précisant qu'on met un fichier ou l'adresse d'un fichier dans la table et nom une simple donnée?
Ou doit on spécifier un type spécial pour la table ou le champs???
merci
Marsh Posté le 17-10-2005 à 14:41:24
benator a écrit : Ya pas moyen de faire ca sans php??? |
Si, bien entendu.
Marsh Posté le 17-10-2005 à 14:41:33
sircam a écrit : Qui a parlé de PHP ? |
j'ai un boule _de_crystal-decodeur-machine_a_café
benator a écrit : Je suis daccord évidemment mais ma question en fait c plus: |
tu utilise un langage pour acceder a mysql ( php , java, c++, vb ...) ?
parceuqe la ,je vois pas ce que tu veux faire
un select te renvoi du texte , point barre, a toi de le traiter derriere
Marsh Posté le 17-10-2005 à 14:42:31
flo850 a écrit : j'ai un boule _de_crystal-decodeur-machine_a_café |
Sur ton port USB ?
Marsh Posté le 17-10-2005 à 17:03:56
Alors...
Oracle et Microsoft préconisent les deux solutions pour leur SGBD. Cela dépend en fait de ce qu'on veut faire des documents recensés dans la base.
Si on ne fait aucun traîtement dessus, alors un VARCHAR(255) - norme ANSI - suffit à stocker le nom du chemin dans une table. Ensuite, via un programme, on va chercher le document en question (attention, si le programme tourne sur une autre machine que celle où se trouve le document penser à mettre l'accès réseau !) et l'ouvre avec le soft adéquat (le plus simple, l'envoyer à l'explorateur - si on tourne que sous Windows) en spécifiant le type MIME du fichier et l'OS s'occupe du reste.
La seconde solution, qui demande un serveur plus robuste, consiste à se dire que quitte à mettre des documents liés à la base, autant pouvoir faire des requêtes de recherche dessus. Ca tombe bien, Oracle Text Search et Microsoft Full Text Search supportent le PDF, les fichiers HTML/XML et toute la clique Office. A ce moment, on stocke le contenu du fichier dans un champ de type "BLOB" (ou IMAGE pour SQL Server), et ton type/mime dans un varchar à côté.
Ensuite, on peut utiliser les fonctions de recherche sur texte pour jouer avec les fichiers. Et enfin, le programme chargé de charger le fichier pourra charger le contenu du document, toujours en le balançant avec le bon type/mime à l'explorateur, ou par recherche dans la BDR. Autre avantage de cette seconde solution : on n'a pas à se soucier d'où est éxécutée la requête, le programme pourra toujours trouver le fichier, sans passer par un lecteur réseau ou un protocole type FTP.
Marsh Posté le 17-10-2005 à 17:04:44
PS: les deux solutions en question s'appliquent aussi à MySQL/PHP, qui supportent aussi ces deux méthodes et les recherches sur texte intégral.
Marsh Posté le 17-10-2005 à 17:06:51
Avec PHP ou tout autre langage Web, c'est même encore plus simple pour la seconde solution : un simple "add-header()" avec le bon type/mime puis un bête echo tu champ BLOB permet de charger le document dans son programme ou lancer le téléchargement (au choix du navigateur de l'utilisateur)
Marsh Posté le 17-10-2005 à 14:30:42
Bonjour,
je voudrais insérez un fichier dans une table sql et je suis pas trop sur de comment il faut faire?
Est-ce que je crée une table avec juste une colonne dans lquelle je met le chemin ou se trouve mon pdf et ensuite quand je ferai un select de ce champs, est - il possible qu'il s'ouvre alors tout seul? (sans me renvoyer juste le chemin)
Ou ya t il une autre méthode?
Merci.