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

Bases de données Delphi Discussion :

Mise à jour d'un BLOB Oracle


Sujet :

Bases de données Delphi

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Mise à jour d'un BLOB Oracle
    Bonjour,

    J'ai une appli qui doit lire/mettre à jour une table Oracle 8 contenant un champ de type BLOB.

    1) Connexion à la base à l'aide d'un TDatabase, pilote Oracle natif etc ==> pas de problème.
    2) Lecture des records à l'aide d'un TQuery avec un TBlobField, chargé avec un LoadFromFile(...) etc ==> pas de problème, j'arrive à lire le champ
    3) Quand j'essaye de faire l'update du champ BLOB, j'ai par contre un magnifique message Oracle "ORA-01465 : invalid hex number"

    J'ai essayé 2 méthodes :
    a) avec un TUpdateSQL
    b) avec une TQuery.SQL perso qui contient un paramètre "MON_BLOB" et passage de paramètre du style MonQuery.ParamByName(...).LoadFromFile(...) etc...

    Dans les 2 cas, même résultat !

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

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    As tu essayé en supprimant l'enregistrement et puis l'insérer mis à jour ? (c'est pas très propre mais bon ^^)
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Non, je n'ai pas essayé. Par contre j'ai analysé plus en détail le schmilblick.

    Avec SQL Monitor, je trace les executions SQL de TOAD (= outil du marché qui permet de faire tout ce qu'on veut sur Oracle) et je fais la mise à jour de mon champ (y'a des formulaires "automatiques", c'est bien foutu, et ça marche !). Le SQL Monitor me trace la requete suivante :

    UPDATE MA_TABLE
    SET "MON_CHAMP" = EMPTY_BLOB()
    WHERE MA_CLE = :LA_CLE
    RETURNING "DATA" INTO :LA_DATA
    puis passage de paramètres, exactement comme on ferait en prog Delphi.

    J'avoue que c'est une syntaxe SQL que je ne connais pas (empty_blob(), returning data etc...)

    Bref, du coup j'ai copié/collé cette syntaxe dans mon TQuery, passé les paramètres adéquats et cette fois ci : ORA00932 - Inconsistent datatypes.

    Je ne sais pas si je progresse ou si je régresse
    D'autant plus difficile à tester que mon env de dev est local avec BdD Paradox, que tout marche en dev et que je ne peux tester qu'à J+1 sur environnement cible Oracle !!!

    Je vais quand même essayer le DELETE+INSERT au lieu de UPDATE

Discussions similaires

  1. Mise à jour de table sous ORACLE
    Par juju05 dans le forum Import/Export
    Réponses: 0
    Dernier message: 15/07/2011, 14h58
  2. Réponses: 4
    Dernier message: 25/05/2011, 18h08
  3. Erreur au niveau de la mise à jour d'une table Oracle par code VB
    Par lilas_violet dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 15/07/2010, 12h26
  4. Réponses: 3
    Dernier message: 31/01/2008, 17h48
  5. Mise à jour - SET multi-lignes Oracle
    Par Fab916 dans le forum SQL
    Réponses: 3
    Dernier message: 19/09/2007, 11h54

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