Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    492

    [SQL] Errore query con campo BLOB di Oracle

    Salve a tutti
    in una tabella ho un campo BLOB di oracle. Se faccio la query scrivendo
    "SELECT * FROM Tab WHERE...." non ho nessun problema sia tramite Toad così come
    altri programmi col quale faccio le query e prendo il risultato, in questo caso un Rs di VB6.
    Ora però ho la necessità di fare una query di questo tipo:
    "SELECT DISTINCT ID, NOME, BLOB FROM Tab WHERE...." ma specificando in
    questo modo il campo BLOB ho errori sul campo BLOB che è specificato.
    Attraverso Toad che VB6 quando eseguo la query per avere il Rs l'errore è:

    ORA-00932: tipi di dati non coerenti: previsti -, ottenuti BLOB



    Come posso risolvere questo problema?
    Mi interessa assolutamente usare DISTINCT per non prendere duplicati, ma al
    tempo stesso mi serve anche il campo BLOB che deve essere contenuto nel mio Rs di VB6

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    492
    Ho fatto altre prove, il problema non è il campo BLOB, ma il DISTINCT sul campo BLOB, in quanto togliendo DISTINCT e specificando i campi tra cui anche il BLOB, non mi da errori.
    Ora però ho un altro problema, ho provato a togliere il campo BLOB dalla query, scrivendo così:

    "SELECT DISTINCT ID, NOME FROM Tab WHERE...."

    e ho notato che mi vengono dati eventuali duplicati sul campo ID, se invece nella SELECT lascio solo il campo ID, non ho duplicati...

    Come posso risolvere tale problema?

    Ricapitolando:
    mi interessa fare la DISTINCT solo sul campo ID e avere nel risultato i campi ID, NOME e BLOB

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Il comportamento del motore del DB e' corretto ...

    Se esistono due record con lo stesso ID, e vuoi vedere anche il campo NOME, come fa il db a sapere quale vuoi? E quindi li mostra tutti ...

    Forse devi rivedere i tuoi obiettivi ...

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    492
    Il problema era fondamentalmente che la DISTINCT non si può fare su un campo BLOB.
    Per quanto riguarda il mio prob alla fine ho risolto con query annidate

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.