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

SQL Oracle Discussion :

REF de types avec ORDIMAGE


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 6
    Par défaut REF de types avec ORDIMAGE
    Bonjour à tous,

    Après avoir créé un type contenant un ordsys.ordimage et ordsys.ordimagesignature je n'arrive plus à créer de références sur ce type ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    create type toto_type as object
    (
    	id_toto	integer,
    	photo 	ORDSYS.ORDIMAGE,
    	sig 	ORDSYS.ORDIMAGESIGNATURE
    );
    /
     
    create table toto of toto_type
    (
    	primary key(id_toto)
    );
     
    insert into toto values(1,ORDSYS.Ordimage.init(),ORDSYS.OrdimageSignature.init());
    un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select ref(t) from toto where id_toto=1;
    me retourne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SP2-0678: La colonne ou le type d'attribut ne peuvent etre affiches par SQL*Plus
    ce qui est concevable pour un select mais étrange pour une référence.

    Existe-t'il une solution où je fais comme Martine et je me brosse

    Merci d'avance

  2. #2
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Select rawtohex(ref(t)) from tot t
    Mais j'ai du mal à voir l'utilité

  3. #3
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    SQL*Plus ne permet pas de visualiser tous les types de données Oracle..

    En l'occurence, ORDImage contient un champs ORDSource qui contient un BLOB, type non supporté, en affichage, par SQL*Plus...

    Tu t'attends à ce que Sql*Plus t'affiche quoi ??
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 6
    Par défaut
    je sais pas la photo en ascii art ...

    Nan trève de plaisanterie je comprend que sqlplus génère une erreur lorsqu'on lui demande d'afficher des objets complexes, mais là je désire juste afficher la référence de cet objet vu que je travail avec de l'objet relationnel.

    Je n'ai pas encore testé la réponse de mnitu vu que le serveur oracle est down ce weekend donc je testerai ça demain.

  5. #5
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    Si tu veux juste afficher la référence en hexa, l'astuce de mnitu fonctionne :

    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
    22
    23
    24
    25
    26
     
    SQL> create type dvp_t as object (id int, value blob);
      2  /
     
    Type créé.
     
    SQL> create table test_dvp_t of dvp_t;
     
    Table créée.
     
    SQL> insert into test_dvp_t values(dvp_t(1, empty_blob()));
     
    1 ligne créée.
     
    SQL> select ref(t) from test_dvp_t t;
    SP2-0678: La colonne ou le type d attribut ne peuvent être affichés par SQL*Plus
    SQL>
    SQL> select rawtohex(ref(t)) from test_dvp_t t;
     
    RAWTOHEX(REF(T))
    --------------------------------------------------------------------------------
    00280209AC9FD5F6601747FFB8C4DFEC49DA28505B443891ABFB4B5384E554731C8F0BE901041B94
    0000
     
     
    SQL>
    Remarque : Si ton type ne contenait aucun blob, le select ref(t) aurait produit le même résultat...
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

Discussions similaires

  1. Problème de compatibilité de types avec Delphi et SQLServer
    Par scrat88 dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/05/2006, 11h31
  2. Probleme de type avec Array
    Par BECHE dans le forum Langage
    Réponses: 5
    Dernier message: 30/03/2006, 23h05
  3. Envoyer une var. typée avec TServeurSocket et TClientSocket
    Par Matt2094 dans le forum Web & réseau
    Réponses: 16
    Dernier message: 22/03/2006, 20h10
  4. Pb de type avec Mingw
    Par titus55 dans le forum C++
    Réponses: 4
    Dernier message: 06/10/2005, 12h59
  5. [Recordset] Incompatibilté de type avec une requête
    Par lbourlet dans le forum Access
    Réponses: 2
    Dernier message: 29/10/2004, 15h52

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