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 :

Inserer un blob dans une table sous Oracle [Débutant]


Sujet :

C#

  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
    Points : 996
    Points
    996
    Par défaut Inserer un blob dans une table sous Oracle
    Bonjour,

    Je cherche à importer une photo dans un blob d'une table sous Oracle.
    Je recois un Byte[] et c'est cela que je vuex inserer dans mon blob.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    public void SetPhotosEtudiants(Byte[] photoEtudiant,int studentPK)
            {
                //Requete de Maj de la photo
                string query = "Update adsfileblob set blob_image=:photoParticipant where file_guid like '%:studentPK'";
     
                // Paramètres pour la reuqte
                IDbDataParameter[] ParametresAdsFileBlob = {
    				DBUtils.BuildParameter("@photoParticipant", DbType.Byte, photoEtudiant),
    				DBUtils.BuildParameter("@studentPK", DbType.String, studentPK)
    			};
     
                DBUtils.ExecuteNonQuery(query, ParametresAdsFileBlob, iConnection);
                log.Error("Appel Methode WS SetPhotosEtudiants");
            }
    J'ai une erreur à l'excution :
    L'objet doit implémenter IConvertible.
    Quelqu'un peut il m'aider à résoudre ce problème ?

    Merci par avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 754
    Points
    39 754
    Par défaut
    Il faut utiliser DbType.Binary, et non DbType.Byte.
    DbType.Byte représente un octet (un seul, pas un tableau...)

  3. #3
    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
    Points : 996
    Points
    996
    Par défaut
    merci c'est mieux ... maintenant j'ai l'erreur :
    nom de variable interdit
    une idée ?

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 754
    Points
    39 754
    Par défaut
    Bizarre, j'ai jamais vu cette erreur... Quelle est l'exception exacte ?
    Et fais voir le code de DBUtils.BuildParameter et DBUtils.ExecuteNonQuery

  5. #5
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Ah ben en tout cas, ca:
    C'est interdit
    C'est plutot:
    D'ailleurs, déclarer des parametres avec un @ et ensuite les utiliser avec : ca me parait bizarre...

  6. #6
    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
    Points : 996
    Points
    996
    Par défaut
    Effectivement :

    ne fonctionne pas , donc comment faire un like ?

    J'ai sinon l'erreur : .... jamais vu non plus

    Merci à vous

  7. #7
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    et c'est le contenu qui doit avoir le %

    mais cela dit, une primary key en string et ou tu fais un like dessus, je pense que y'a un problème de modélisation la!

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 754
    Points
    39 754
    Par défaut
    Citation Envoyé par beegood Voir le message
    Effectivement :

    ne fonctionne pas , donc comment faire un like ?
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    LIKE '%' || :studentPK

    Et effectivement il ne faut pas mettre de "@" dans les noms des paramètres...

  9. #9
    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
    Points : 996
    Points
    996
    Par défaut
    En faite non , c'est qu'il y a plein de zéro devant , j'ai trouvé mieux et cela fonctionne enfin. Je complète ma clé avec les zéro necessaire , je peux faire une égalité.

    Le typage en DbType.Binary régle le soucis du Iconvertible ...

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
            [AuthExtension]
            [SoapHeader("Authentication")]
            [WebMethod]
            [SoapDocumentMethod("http://www.agresso.com/france/SetPhotosEtudiants",
                 RequestNamespace = "http://www.agresso.com/france/", ResponseNamespace = "http://www.agresso.com/france/",
                 Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
            public void SetPhotosEtudiants(Byte[] photoEtudiant,int studentPK)
            {
                //Requete de Maj de la photo
                string query = "Update adsfileblob set blob_image=:photoParticipant where file_guid = lpad(:studentPK,32, '0')";
     
                // Paramètres pour la reuqte
                IDbDataParameter[] ParametresAdsFileBlob = {
    				DBUtils.BuildParameter("@photoParticipant", DbType.Binary, photoEtudiant),
    				DBUtils.BuildParameter("@studentPK", DbType.Int32, studentPK)
    			};
     
                DBUtils.ExecuteNonQuery(query, ParametresAdsFileBlob, iConnection);
                log.Error("Appel Methode WS SetPhotosEtudiants" + studentPK);
            }
    Merci à vous tous

  10. #10
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Un entier aurait été mieux quand même

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

Discussions similaires

  1. Impossibilité d'inserer une colonne dans une table sous SQL2008
    Par kikou_virago dans le forum Développement
    Réponses: 5
    Dernier message: 26/07/2010, 02h49
  2. [Oracle] inserer les données saisies dans les zones de textes dans une table sous oracle
    Par sara-souad-wf dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/09/2009, 11h16
  3. [Oracle] problème d'insertion de données dans une table sous oracle
    Par Zombiman dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 27/05/2009, 14h58
  4. Problème d'insertion dans une table sous oracle
    Par admcent dans le forum Administration
    Réponses: 4
    Dernier message: 24/10/2007, 13h58
  5. Comment inserer une image dans une table sous sql qerveur
    Par zeddy23 dans le forum Bases de données
    Réponses: 4
    Dernier message: 25/02/2005, 08h51

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