Accueil > > > ADODB.STREAM, ENTRÉE D'OBJET OLE DANS UNE BASE DE DONNÉE, RÉCUPÉRATION D'OBJET OLE D'UNE BASE POUR EN FAIRE UN FICHIER
ADODB.STREAM, ENTRÉE D'OBJET OLE DANS UNE BASE DE DONNÉE, RÉCUPÉRATION D'OBJET OLE D'UNE BASE POUR EN FAIRE UN FICHIER
Information sur la source
Description
Bien entendu ce n'est pas de moi et c'est vu revu et tout le toutim sur internet mais je n'ai pas trouvé cela ici alors je le mets. Il s'agit ici de créer a partir d'un fichier existant sur votre disque dur un objet OLE ( fichier ) dans une base de donnée ACCESS et par la suite de le ressortir de la base de données pour en refaire un fichier nommé comme vous le désirez.
Source
- <!--METADATA TYPE="typelib"
- UUID="00000205-0000-0010-8000-00AA006D2EA4"
- NAME="ADODB Type Library"
- -->
-
- 'Surtout vous ne devez pas oublier ces premières lignes
- 'Elles définissent la dll à importer pour l'objet que nous allons utiliser
-
- 'PREMIERE PARTIE ----- ON ENTRE LE FICHIER DANS LA BASE
-
- 'Je passe ici la connection avec la base que l'on peut trouver abondemment
- Dim Stream
- Dim Rs
-
- 'J ouvre la table qui va recueillir mon fichier
- Set Rs = Server.CreateObject("ADODB.Recordset")
- Rs.open "matable", conn, 3, 3
-
- 'Je crée mon objet Stream
- Set Stream = Server.CreateObject("ADODB.Stream")
-
- 'on définit le type de fichier à lire ici je met 1 mais vous pouvez aussi mettre adTypeBinary
- Stream.Type = 1
- Stream.Open
-
- 'On envoi l'objet Stream lire le contenu du fichier en question
- Stream.loadFromFile server.MapPath("fichier.extension")
-
- 'On crée un nouvel enregistrement dans la table
- rs.addnew
-
- 'Et lors on affecte au champ désiré le contenu binaire du fichier
- rs.fields("fichier") = Stream.read
-
- 'On met a jour
- rs.update
- 'On oublie pas de fermer les objets
- rs.close
- stream.close
- Set rs=nothing
- Set stream=nothing
- response.redirect "laoulonveut.extension"
-
- 'SECONDE PARTIE ----- RECUPERATION DU FICHIER DANS LA BASE DE DONNEES
-
- <!--METADATA TYPE="typelib"
- UUID="00000205-0000-0010-8000-00AA006D2EA4"
- NAME="ADODB Type Library"
- -->
- 'Ne pas oublier d'invoquer la dll
- 'Comme precedemment, je passe la connection avec la base
-
- 'Connection avec la table a l'endroit ou est mon fichier
- Set rs = server.CreateObject("ADODB.Recordset")
- SQL="SELECT * FROM photos WHERE id like 1"
- RS.open SQL, conn, 3, 3
-
- 'Creation Objet ADODB.Stream
- Set Stream = server.CreateObject("ADODB.Stream")
-
- 'Le type de contenu qui va lui être proposé
- Stream.Type = adTypeBinary
- Stream.Open
-
- 'On envoi le code binaire dans le cache
- Stream.write rs.fields("photo").value
-
- 'Puis on enregistre le fichier avec le code binaire enregistré
- 'En mode Ecrasement adSaveCreateOverWrite
- Stream.SaveToFile "repertoire:\sous-rep\nomdufichier.ext", adSaveCreateOverWrite
-
- 'et on ferme tous les objets comme precedemment ( partie 1 )
- 'Vous pouvez aller voir le fichier est créé
-
<!--METADATA TYPE="typelib"
UUID="00000205-0000-0010-8000-00AA006D2EA4"
NAME="ADODB Type Library"
-->
'Surtout vous ne devez pas oublier ces premières lignes
'Elles définissent la dll à importer pour l'objet que nous allons utiliser
'PREMIERE PARTIE ----- ON ENTRE LE FICHIER DANS LA BASE
'Je passe ici la connection avec la base que l'on peut trouver abondemment
Dim Stream
Dim Rs
'J ouvre la table qui va recueillir mon fichier
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.open "matable", conn, 3, 3
'Je crée mon objet Stream
Set Stream = Server.CreateObject("ADODB.Stream")
'on définit le type de fichier à lire ici je met 1 mais vous pouvez aussi mettre adTypeBinary
Stream.Type = 1
Stream.Open
'On envoi l'objet Stream lire le contenu du fichier en question
Stream.loadFromFile server.MapPath("fichier.extension")
'On crée un nouvel enregistrement dans la table
rs.addnew
'Et lors on affecte au champ désiré le contenu binaire du fichier
rs.fields("fichier") = Stream.read
'On met a jour
rs.update
'On oublie pas de fermer les objets
rs.close
stream.close
Set rs=nothing
Set stream=nothing
response.redirect "laoulonveut.extension"
'SECONDE PARTIE ----- RECUPERATION DU FICHIER DANS LA BASE DE DONNEES
<!--METADATA TYPE="typelib"
UUID="00000205-0000-0010-8000-00AA006D2EA4"
NAME="ADODB Type Library"
-->
'Ne pas oublier d'invoquer la dll
'Comme precedemment, je passe la connection avec la base
'Connection avec la table a l'endroit ou est mon fichier
Set rs = server.CreateObject("ADODB.Recordset")
SQL="SELECT * FROM photos WHERE id like 1"
RS.open SQL, conn, 3, 3
'Creation Objet ADODB.Stream
Set Stream = server.CreateObject("ADODB.Stream")
'Le type de contenu qui va lui être proposé
Stream.Type = adTypeBinary
Stream.Open
'On envoi le code binaire dans le cache
Stream.write rs.fields("photo").value
'Puis on enregistre le fichier avec le code binaire enregistré
'En mode Ecrasement adSaveCreateOverWrite
Stream.SaveToFile "repertoire:\sous-rep\nomdufichier.ext", adSaveCreateOverWrite
'et on ferme tous les objets comme precedemment ( partie 1 )
'Vous pouvez aller voir le fichier est créé
Conclusion
Il est a noter que ce script ne fonctionnera bien entendu pas si vous avez fais la mise a jour de sécurité Windows puisque celle-ci bloque la creation d'objet stream purement et simplement. Cette mise à jour a été faite suite à une faille exploitée par les virusmen :D. Pour plus d'informations à ce sujet allez donc voir le site de microsoft...
Je vous souhaite une bonne fin de journée.
Historique
- 25 novembre 2005 15:05:11 :
- oupsss mise à jour des mots clés ( rapide non ? ;) je suis sur que personne est venu avant )
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
(2) ASP et ORACLE [ par JclO ]
Bonjour,Merci pour l'aide apporté il est vrai qu'en utilisant OLE DB apparement je me connecte à la Base car je n'est plus de message d'erreur. Malheu
Problème d'ajout de données dans base SQL [ par HolyDev ]
Cher ASPsienVoila je voudrais ajouter des données dans une base SQL, mais à à la ligne :RecordSet("Nom du champ")=Valeurj'ai l'erreur :Microsoft OLE D
Aficher un champs d'une table ACCESS de type Objet OLE [ par usef80 ]
Bonjour,J'ai un problème: Dans ma base de données ACCESS, j'ai une table employé dont les champs sont: id_employe, nom, département adresse et photo.
Probleme Autorisation SELECT refusée sur l'objet 'xxxx', base de données 'xxxxDatabase', schéma 'dbo'. [ par tarek1967 ]
j ai finalement trouve comment ajouter aspnet.mais j ai ce problemeAutorisation SELECT refusée sur l'objet 'xxxx', base de données 'xxxxDatabase', sch
impression champ ole [ par nadovchka ]
J'ai un controle richtextrtf sur la feuille par le quel on peut saisir des données textes graphiques. j'ai une base de données dans laquelle j'ai un
Ouvrir Objet OLE [ par Le newbie ]
Salut,Je voudrais savoir comment je peux ouvrir un fivhier pdf ou snp sachant que cela fait parti des enregistrements de ma base access (en OLE). N'ay
erreur de connection base access [ par francki67 ]
Bonjours je suis sous vista et je crée une page ASP avec une base ACCESS ou je veut me connecter voila mon script:<html> <head><meta
Comment lire et ecrire dans une base Access [ par Claude Azoulai ]
Bonjour à tousJe travail sous Visual Web Developer 2005 Express edition et je suis nouveau dans ce domaine.Mon Problème :J'ai une première page qui en
Comment connecter ma base SQL 2005 pour gérer la gestion des utilisateurs [ par vinzemuls ]
Bonjour, voilà je suis en entreprise et la gestion des utilisateurs qui avait été géré par ASP.net avec sa base de données (aspnetdb.mdl) ne fonctionn
Recherche Dans base de données [ par gatita_dev ]
Bonjour,Je veux effectuer un moteur de recherche dans une base de données, quand je cherche un seul mot ça marche mais dés qu'il y a plusieurs mot ça
|
Derniers Blogs
ZUNE : NOUVELLE VERSION DU ZUNE SOFTWARE - V 4.2ZUNE : NOUVELLE VERSION DU ZUNE SOFTWARE - V 4.2 par ROMELARD Fabrice
Avec la dernière génération du lecteur MP3 de Microsoft, le ZUNE HD, Microsoft a publié une nouvelle version du logiciel pour PC. Ainsi, je me suis décidé à installer celle-ci sur mon Tablet PC ACER, comme toujours le logiciel est donc tél...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice L'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIESL'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIES par odewit
La tendance est aux interfaces naturelles (NUI), et le keynote de Bill Buxton au MIX l'a bien souligné.
La charte graphique et ergonomique de Windows Phone 7 a donc été entièrement repensée en vue d'obtenir un maximum d'efficacité sur ce point. En re...
Cliquez pour lire la suite de l'article par odewit COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL
Forum
UTILISATEURUTILISATEUR par zaydounhlel
Cliquez pour lire la suite par zaydounhlel RE : VIRUSRE : VIRUS par ghuysmans99
Cliquez pour lire la suite par ghuysmans99
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|