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...
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...
A la place du Console.Write, tu peux faire un INSERT INTO.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 -> http://mfdatabase.free.fr/Pdf.rar -> http://pdfbox.apache.org/
Ce code date de 2008, il doit certainement y avoir de nouvelle bibliothèque pour manipuler les fichiers PDF !
Bon courage
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.
On ne jouit bien que de ce qu’on partage.
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...
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)
On ne jouit bien que de ce qu’on partage.
--> Pour importer un fichier .PDF dans une colonne (source )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 CREATE TABLE myTable(FileName nvarchar(60), FileType nvarchar(60), Document varbinary(max)); GO INSERT INTO myTable(FileName, FileType, Document) SELECT 'Text1.pdf' AS FileName, '.pdf' AS FileType, * FROM OPENROWSET(BULK N'C:\Text1.pdf', SINGLE_BLOB) AS Document;
--> 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+
Etienne ZINZINDOHOUE
Billets-Articles
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...
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+
Etienne ZINZINDOHOUE
Billets-Articles
Effectivement, ce type a été remplacé par varbinary(max) avec SQL Server 2005 ...Envoyé par WOLO Laurent
@++
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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager