OVH Cloud OVH Cloud

WD12 - BLOB MySQL

16 réponses
Avatar
I.G.LOG
Bonjour,

Je dois stocker des documents Word dans une base MySQL 4.1.9 (j'utilise
l'accès natif PCSoft)
Je n'ai encore jamais effectué ce genre de choses avec Windev.
J'ai fait des recherches sur le net mais je n'ai trouvé aucun début de
piste.
Quelle sont les fonctions SQL disponibles pour récupérer les rubriques de
type blob, les enregistrer etc...

Merci

6 réponses

1 2
Avatar
I.G.LOG
>
Si c'est pour gérer quelques documents, c'est bien plus simple à insérer
dans un champs type Blob. Si c'est pour gérer de nombreux documents du
type GED je pense qu'il est préférable de le faire à un autre niveau que
la base.

Le premier cas est plus simple à mettre en place, mais peu efficace. Le
second cas est plus difficile à mettre en place, mais bien plus efficace
en terme de maintenance, de charge, d'évolution et de sauvegarde.

Pour la seconde solution WebDAV est une des solutions clé en main qui
permettent de le faire.




merci pour cette réponse. Il va falloir que je choisisse: nous devons
enregistrer des fichiers word qui ne devraient pas dépasser une page. Le
volume annuel est d'environ 5000 et, pour l'instant, ne concerne qu'un seul
type de document (certificat délivré au client après travaux) faisant
environ 100 Ko.
Encore merci
Avatar
I.G.LOG
>
Bennn?? non?
Un fichier, jusqu'à preuve du contraire, c'est une suite d'octets.
Quand tu le mets en base, aucun bit n'est modifié.

Et quand tu le récupères non plus.




en effet. donc il va falloir que je choisisse entre les deux solutions.
Pour être plus précis, nous voulons mémoriser des doc word, qui normallement
ne feront qu'une page et ne devraient pas dépasser 100Ko pour un volume
annuel d'environ 5000; ce sont des documents officiels aéronautique qu'il
faut absolument conserver tel qu'au moment de leur impression.
En ce qui concerne l'enregistrement en base, HAttacheMemo et HextraitMemo ne
semblent pas correspondre à ce dont j'ai besoin puisque nous travaillons sur
une base MySQL 4.1.9. Peut-être, comme le dit Jean-Phi, avec fchargetexte et
fSauveTexte ?!
Merci beaucoup pour vos réponses
Avatar
Gilles
I.G.LOG a formulé ce jeudi :

Bennn?? non?
Un fichier, jusqu'à preuve du contraire, c'est une suite d'octets.
Quand tu le mets en base, aucun bit n'est modifié.

Et quand tu le récupères non plus.




en effet. donc il va falloir que je choisisse entre les deux solutions.
Pour être plus précis, nous voulons mémoriser des doc word, qui normallement
ne feront qu'une page et ne devraient pas dépasser 100Ko pour un volume
annuel d'environ 5000; ce sont des documents officiels aéronautique qu'il
faut absolument conserver tel qu'au moment de leur impression.
En ce qui concerne l'enregistrement en base, HAttacheMemo et HextraitMemo ne
semblent pas correspondre à ce dont j'ai besoin puisque nous travaillons sur
une base MySQL 4.1.9. Peut-être, comme le dit Jean-Phi, avec fchargetexte et
fSauveTexte ?!
Merci beaucoup pour vos réponses



Ce n'est pas parce que ca commence par H qu'il faut se restreindre à
hyperfile.

Toutes les fonctions H fonctionnent parfaitement avec les accès natifs.
c'est avec Oracle que je les utilisais.
Avatar
I.G.LOG
>
Toutes les fonctions H fonctionnent parfaitement avec les accès natifs.
c'est avec Oracle que je les utilisais.




Je vais creuser ça alors.
Merci beaucoup et bon dev.
Phil
Avatar
Fredo G-MDI
"I.G.LOG" a écrit dans le message de news:
4a3b1449$0$12635$
>
Toutes les fonctions H fonctionnent parfaitement avec les accès natifs.
c'est avec Oracle que je les utilisais.




Je vais creuser ça alors.
Merci beaucoup et bon dev.
Phil




Salut, pour ma part j'utilise les fonctions SQLLitMemo sur me fichiers de
stockage (doc, pdf, xls, etc) et une table où sur un simple clic le fichier
s'extrait et s'ouvre avec l'application choisie (j'utilise un rep temp, dans
Exe qui se supprime selon l'utilisateur à chaque sortie de programme) Cela
fonctionne parfaitement.
Pour insérer un fichier dans ma base (WDMemoBinaire), un Drag and Drop sur
ma fenêtre et hop ça m'affiche dans les champs de saisies, sai_nom_fichier
le nom du fichier que l'on peut modifiier pour la recherche de celui-ci,
l'extension du fichier, la taille du fichier, et tout ça est stocké dans la
base.

En gros ma table fichier est décrite comme suit :
article_fichier :
---------------
id -> identifiant
FK_id_article -> clé étrangère article
fichier (longblob) -> blob stocké
nom_fichier [varchar 255] -> ce nom me permet de rechercher le fichier
facilement dans la base
extension_fichier [varchar 10] -> me permet lors de l'extraction de lancer
la bonne application
taille_fichier [int(10)] -> 1, me permet de vérifier que je suis pas au
dessus du "max_allowed_packet" pour ma base MySQL lors de l'insertion ou la
modif et 2 permet d'afficher à l'utilisateur la taille en Ko, Mo ce qu'on
veut.
Avatar
JeAn-PhI
I.G.LOG avait prétendu :

Bennn?? non?
Un fichier, jusqu'à preuve du contraire, c'est une suite d'octets.
Quand tu le mets en base, aucun bit n'est modifié.

Et quand tu le récupères non plus.




en effet. donc il va falloir que je choisisse entre les deux solutions.
Pour être plus précis, nous voulons mémoriser des doc word, qui normallement
ne feront qu'une page et ne devraient pas dépasser 100Ko pour un volume
annuel d'environ 5000; ce sont des documents officiels aéronautique qu'il
faut absolument conserver tel qu'au moment de leur impression.
En ce qui concerne l'enregistrement en base, HAttacheMemo et HextraitMemo ne
semblent pas correspondre à ce dont j'ai besoin puisque nous travaillons sur
une base MySQL 4.1.9. Peut-être, comme le dit Jean-Phi, avec fchargetexte et
fSauveTexte ?!
Merci beaucoup pour vos réponses



c'est comme cela que cela fonctionne avec l'accès [alter]natif ;-)

--
Cordialement JeAn-PhI
1 2