|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : novembre 2005 Messages : 462 ![]() |
Bonjour à tous...
Quelqu'un peut-il m'envoyer un script en vb.net qui permet d’écrire un .pdf dans une colonne varbinary... Merci d'avance... |
|
|
00
|
|
|
#2 | ||
|
Membre du Club
![]() Inscription : décembre 2002 Messages : 82 ![]() |
Code :
Ce code date de 2008, il doit certainement y avoir de nouvelle bibliothèque pour manipuler les fichiers PDF ! Bon courage
|
||
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Sylvain DevidalChef de projets Générix Inscription : février 2010 Messages : 1 062 ![]() |
Je doute que sa demande corresponde à cette réponse.
=> Le PDF semble déjà généré, il se demande juste comment faire un INSERT/UPDATE avec. Avec le connecteur .NET, je pense qu'on a la même limitation qu'en ODBC ou OLEDB : la longueur de la requête est limitée en longueur, donc impossible de mettre un champ de plusieurs méga dedans. => Il faut passer par un filestream si je ne m'abuse. Jamais utilisé en revanche. J'imagine qu'en recherchant sur ce mot dans Google, on doit pouvoir trouver des choses. A noter que BLOB (enfin, TEXT ou NTEXT ou IMAGE sous SQL Server) est censé être abandonné, au profit de VARCHAR qui maintenant accepte jusqu'à 2 Go de données. Ceci dit, pour les gros volumes, il y a toujours la même limitation. |
|
|
00
|
|
|
#4 |
|
Membre régulier
![]() Inscription : novembre 2005 Messages : 462 ![]() |
Merci Glouferu mais j'avoue ne pas comprendre votre réponse...
Ce que je cherche c'est comment écrire un toto.pdf dans une colonne blob d'une table SqlServer... En fait juste la façon de faire... |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Sylvain DevidalChef de projets Générix Inscription : février 2010 Messages : 1 062 ![]() |
Après une recherche rapide, tu peux :
- Soit passer par une requête paramétrée et passer un array de byte contenant ton fichier. http://www.digitalcoding.com/Code-Sn...QL-Server.html - Soit, si SQL Server a accès au dossier de ton image, lui faire charger directement le fichier lui-même dans ta table en utilisant openrowset et la commande bulk. http://weblogs.sqlteam.com/peterl/ar...front-end.aspx Ces exemples seront à adapter (surtout si tu prends le premier) |
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() ![]() |
--> Pour importer un fichier .PDF dans une colonne (source )
Code :
--> Pour exporter (lire) le contenu de la colonne Document depuis SQL SERVER tu peux utiliser un CLR http://blog.developpez.com/zinzineti...ary/#more10311 A+ |
||
|
00
|
|
|
#7 |
|
Membre régulier
![]() Inscription : novembre 2005 Messages : 462 ![]() |
Merci zinzineti pour votre réponse mais malheureusement cette requête (que j'ai essayé !) ne semble pas fonctionner sur SQL Server 2000 (serveur)...
En fait je suis arrivé à stocker une image (dans une colonne image) => Ok Pour stocker un pdf, j'ai créé une colonne varbynary(50) mais l'insert que vous m'avez envoyé ne fonctionne pas (Je crois avoir lu qu'il ne fonctionnait que pour SqlServer 2008) ... 1°) Me trompe-je et si oui, auriez-vous un autre exemple ? Autre question : Im y a deux façon d'alimenter une colonne varbinary : En filestream ou directement dans la database (suivant en fait, la grosseur de l'objet inséré ) 2°) Ma question est la suivante : l'ordre d'écriture de l'objet est-il différent suivant qu'il sera stocké en filestream ou dans la database ? merci pour vos réponses... |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() ![]() |
C'est normal que ça ne marche pas sous SQL SERVER 2000.
--> varbinary(max) n'existe pas sous SQL SERVER 2000. --> ... OPENROWSET(BULK ... n'existe pas sous SQL SERVER 2000 --> CLR n'existe pas sous SQL SERVER 2000 Au lieu de varbinary(max) tu peux utiliser le type image. pour les .pdf et autres je n'ai pas de solutions à te proposer ... A+ |
|
00
|
|
|
#9 |
|
Membre régulier
![]() Inscription : novembre 2005 Messages : 462 ![]() |
Merci pour ta réponse...
|
|
|
00
|
|
|
#10 | |
![]() ![]() ![]() |
Citation:
Même chose, utilise le type image.
__________________
Découvrez la FAQ de MS SQL Server. La chance accorde ses faveurs aux esprits avertis ! |
|
|
|
00
|
|
|
#11 | |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Citation:
@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
|
00
|
|
|
#12 |
![]() ![]() ![]() |
Vous avez la même procédure pour ajouter le fichier :
1-Vous charger un stream dans un tableau de bit; 2-Vous passer ce tableau de bit à un paramètre de ta procédure stockée; Dans ta procédure stockée, tu fais un insert classique. Attention : Au cas où, le fichier est très volumineu, quelques mégaoctets, le décomposé en plusieurs morceaux à envoyer à sqlserver. Bonne chance.
__________________
Découvrez la FAQ de MS SQL Server. La chance accorde ses faveurs aux esprits avertis ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com