IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[c#][oracle 11G] Alimenter un blob


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Par défaut [c#][oracle 11G] Alimenter un blob
    Bonjour,

    je souhaite alimenter via Sql dans une méthode C# un champ blob d'une table de ma base de donnée (Oracle 11G).
    mon champ BLOB doit contenir un texte (pas un fichier)

    j'ai trouvé un moyen simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
                string query = "UPDATE aimblob ";
                query = query + " SET blob_image =  utl_raw.cast_to_raw(:message) ";
                query = query +" WHERE blob_id = :blob_id ";
    mais le résultat n'est pas interprété proprement par une appli tiers. j'ai comme le sentiment que le contenu ainsi alimenté n'est plus interprété comme un contenu BLOB.

    Quelqu'un a t'il une idée ?

    Merci de votre aide

  2. #2
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Par défaut
    j'ai une solution que je poste ici :

    je précise que mon champ est un OracleType.Blob.
    et je transforme en byte[] ma chaîne est au final mon appli tiers interprète bien un blob.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    .....
     OracleParameter blobParameter = new OracleParameter();
     blobParameter.OracleType = OracleType.Blob;
     blobParameter.ParameterName = "message";
     blobParameter.Value = classeComune.GetBytes(str_message);
     command.Parameters.Add(blobParameter); 
    ....
    Avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            public byte[] GetBytes(string str)
            {
                byte[] bytes = new byte[str.Length * sizeof(char)];
                System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
                return bytes;
            }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. install Oracle 11g sur Enterprise Linux Oracle
    Par Soutou dans le forum Installation
    Réponses: 2
    Dernier message: 31/10/2007, 11h38
  2. Oracle 11g disponible sur Linux
    Par pifor dans le forum Oracle
    Réponses: 8
    Dernier message: 16/08/2007, 23h28
  3. [JDBC][Oracle] Update d'un Blob
    Par JohnBlatt dans le forum JDBC
    Réponses: 16
    Dernier message: 06/03/2007, 17h20
  4. [java][Oracle]Ouvrir un fichier(blob) avec le browser
    Par marsup54 dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 11/09/2003, 13h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo