begin process at 2010 02 10 08:45:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Base de données

 > 

Inserer un Object de type BLOB ou CLOB dans une base Oracle


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Inserer un Object de type BLOB ou CLOB dans une base Oracle

vendredi 30 septembre 2005 à 11:05:50 | Inserer un Object de type BLOB ou CLOB dans une base Oracle

oh_biba

Bonjour, je suis relativement perdu quant a ce probleme : Je souhaite stocker des fichiers dans une base Oracle depuis appli web (C#). Comment faire, sachant que le seule chose que je permet a l'utilisateur sera d'entrer le chemin du fichier a enregistrer ?

D'avance Merci aux experts qui pourront m'aider

Biba


vendredi 30 septembre 2005 à 11:24:15 | Re : Inserer un Object de type BLOB ou CLOB dans une base Oracle

sebmafate

Membre Club Administrateur CodeS-SourceS
les champs de type CLOB ou BLOB sont des champs de byte (byte[]), il suffit donc que tu charges le flux du fichier dans une stream...

Sébastien FERRAND
vendredi 30 septembre 2005 à 11:28:41 | Re : Inserer un Object de type BLOB ou CLOB dans une base Oracle

oh_biba

Excuse ma candeur, mais aurais-tu un quelconque exemple de code ?
vendredi 30 septembre 2005 à 11:34:36 | Re : Inserer un Object de type BLOB ou CLOB dans une base Oracle

sebmafate

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
un exemple de code pour la requête :

public int AddNewImageToDemande(
   int dem_id,
   byte[] image,
   string text
) {

   this.DBCommand.CommandText = "INSERT INTO IMAGES (IMG_ID, DEM_ID, IMG_BINARIES, IMG_TEXT) "   
      +
"VALUES(SEQ_IMAGES.NEXTVAL, :DEM_ID, :IMG_BINARIES, :IMG_TEXT)";
   this.DBCommand.CommandType = CommandType.Text;
   if (this.useTransaction)
      this.DBCommand.Transaction = (OracleTransaction)trans;
      this.DBCommand.Parameters.Clear();
      this.DBCommand.Parameters.Add("DEM_ID", OracleType.Number);
      this.DBCommand.Parameters.Add("IMG_TEXT", OracleType.Clob);
      this.DBCommand.Parameters.Add("IMG_BINARIES", OracleType.Blob);
      this.DBCommand.Connection = this.oraConn;

      this.DBCommand.Parameters["DEM_ID"].Value = dem_id;
      if (text == string.Empty) {
         this.DBCommand.Parameters["IMG_TEXT"].Value = OracleLob.Null;
      }
else {
         this.DBCommand.Parameters["IMG_TEXT"].Value = text.Replace("'","''");
      }
      this.DBCommand.Parameters["IMG_BINARIES"].Value = image;
      return this.DBCommand.ExecuteNonQuery();
   }
}



Sébastien FERRAND
vendredi 30 septembre 2005 à 11:38:12 | Re : Inserer un Object de type BLOB ou CLOB dans une base Oracle

sebmafate

Membre Club Administrateur CodeS-SourceS
après pour transformer un fichier en byte[], ca dépend des fichiers... mais j'essaye de te faire un truc générique

Sébastien FERRAND
vendredi 30 septembre 2005 à 11:42:27 | Re : Inserer un Object de type BLOB ou CLOB dans une base Oracle

oh_biba

Merci beaucoup. En l'occurence, les fichiers sotckes seront des archives Zip, mais ca ne devrait influer en rien sur traitement.
vendredi 30 septembre 2005 à 11:55:10 | Re : Inserer un Object de type BLOB ou CLOB dans une base Oracle

sebmafate

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
ca devrait être pas mal ca :

public byte[] FileToBytes(string filename)
{
   if (!File.Exists(filename)) 
   {
      return null;
   }

   FileStream fs =
new FileStream(filename, FileMode.Open);
   BinaryReader stream =
new BinaryReader(fs);
   byte[] bytes = stream.ReadBytes(stream.BaseStream.Length);
   stream.Close();
   fs.Close();
   return bytes;
}



Sébastien FERRAND
vendredi 30 septembre 2005 à 11:58:07 | Re : Inserer un Object de type BLOB ou CLOB dans une base Oracle

oh_biba

Merci beaucoup, je vais m'y essayer de ce pas ;)


Cette discussion est classée dans : base, type, oracle, inserer, object


Répondre à ce message

Sujets en rapport avec ce message

Probleme d'acces à une base Access [ par ja001net ] Bonjour,Je fais un programme en C#.net utilisant une basse access, avec laquelle j'accède via un OleDbConnection un OleDbDataReader et un OleDbCommand inserer un & sous oracle [ par reyman ] Comment faire pour insérer un & dans un champ de type string sous oracle??Qd je le fait cela cause une erreur lors de l'execution de la requeteMerci a Oracle, C#, Provider, etc ... [ par EmmaColberti ] Bonjour,J'expose mon problème, peut-être pourrez vous m'aider.Je compte me connecter à une base Oracle depuis une application en C#.Donc après quelque Object must implement IConvertible [ par MAQFAB ] Bonjour,J'ai besoin d'aide pour un petit projet C# --> Oracle 9.Je dois exécuter une SP sur un serveur Oracle. La SP comporte 4 paramètres d'entrée, e recuperer des données d un fichier txt et les inserer dans une base de donnée sql Server [ par amirirn1 ] Salut ,Je dois recuperer des champs dans un ficher txt et les inserer dans des tables d une base de donnée sql Server ,La taille des champs du fichier oracle et Win CE [ par darkbouba666 ] Bonjour a tous,je suis actuellement en stage, et j'ai comme projet de connecter un Pocket pc (en fait un scanner a code bare equiper de Win CE et d'un ODBC, OleDb, ... (°_°)agheu??? + Pb connexion BD Oracle... [ par sphaxslayer ] Bonjour tout le monde...au risque de paraître stupide, je voudrais vous poser la question suivante:mais que sont ODBC et OleDb ... ? Ormis que ce sont Reflection, structure et type de base [ par bigflo93 ] Salut à tous :) Voilà, dans mon programme j'utilise la réflection. J'ai besoin de différencier les "ValueType" et type réference... Seulement voilà, Transformet un obj en obj[] [ par bigflo93 ] Bonjour à tous :)Voila, je travaille avec la réflection en ce moment et je rencontre un petit souci...J'ai par exemple, une variable telle que: int[] Erreur ORA-00020 [ par Caro2005 ] Bonjour,Je rencontre un souci avec une appli c# qui se connecte à une base de données Oracle. Cette application effectue des select, update et insert


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,312 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales