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 :

Créer une vue avec un champ Blob


Sujet :

SQL Oracle

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 352
    Points : 415
    Points
    415
    Par défaut Créer une vue avec un champ Blob
    Bonjour,

    Voilà aujourd'hui mon problème :
    j'ai une table cas_utilisation qui a le schéma suivant :

    uc_id number,
    description varchar2(200),
    image Blob,
    ...
    primary key(uc_id)

    Cette table se trouve sur un serveur.
    Sur un autre serveur, j'ai exactement la même table avec exactement le même schéma.

    J'ai créé un dblink entre mes deux bases.
    Sur l'une de ces deux bases, je voudrais créer une vue union des 2 tables mais le champ de type Blob me pose un problème.

    A la création de la vue j'obtiens le message d'erreur suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    create view vw_cas_utilisation as
    select * from cas_utilisation
    union
    select * from cas_utilisation@serveur2;
     
    Error report:
    ORA-00932: inconsistent datatypes: expected - got BLOB
    ORA-06512: at line 8
    00932. 00000 -  "inconsistent datatypes: expected %s got %s"
    Est-ce que quelqu'un connait la solutoin à ce problème? J'ai essayé de passer par un champ de type long raw au lieu de blob et même problème.
    J'ai également essayé avec les tables sur le même serveur (sans le dblink) et toujours le même problème. Comme puis-je y remédier ??? J'ai beau chercher sur internet des solutions, je ne trouve rien...

  2. #2
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    Déja évite les '*' dans ton select !!!!

  3. #3
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    Ensuite, tu ne peux pas faire un 'SELECT' sur un lob distant !
    ORA-22992 (Oracle)
    cannot use LOB locators selected from remote tables Cause: A remote LOB column cannot be referenced. Action: Remove references to LOBs in remote tables.

  4. #4
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    Et pour faire un 'UNION' avec des LOB , il faut faire 'UNION ALL' (j'ai testé, ca marche) (mais dans la même BDD, pas avec un dblink) !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    CREATE OR REPLACE FORCE VIEW pluton.v_test (ID, img)
    AS
       SELECT num_fac, img
         FROM img_fac
       UNION ALL
       SELECT num_perso, img
         FROM img_perso;

  5. #5
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Citation Envoyé par Garuda Voir le message
    Et pour faire un 'UNION' avec des LOB , il faut faire 'UNION ALL'
    oui, pas de tri sur du LOB et UNION = DISTINCT = tri

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/09/2009, 12h06
  2. Impossible de créer une vue avec un champ spatial
    Par M Roncheau dans le forum SQL
    Réponses: 2
    Dernier message: 24/08/2007, 09h11
  3. Créer une vue avec des onglets
    Par Flackou dans le forum MFC
    Réponses: 2
    Dernier message: 14/06/2007, 11h43
  4. Créer une vue avec du SQl dynamique
    Par gghonang2 dans le forum Oracle
    Réponses: 15
    Dernier message: 06/09/2006, 22h03
  5. Créer une vue avec des requêtes UNION ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/04/2005, 12h37

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