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

DB2 Discussion :

[DB2] conversion BLOB -> CLOB


Sujet :

DB2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut [DB2] conversion BLOB -> CLOB
    SGBDR : DB2-400 V5R2
    Système : OS400

    Comment convertir un champ de type BLOB et CLOB via SQL ?

    Suis-je retombé à l'âge du paléolithique ?
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  2. #2
    Membre extrêmement actif Avatar de denisys
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    1 175
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 175
    Par défaut
    Que veut tu dir par convertir ?????
    ????

  3. #3
    Membre extrêmement actif Avatar de denisys
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    1 175
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 175

  4. #4
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut
    Citation Envoyé par denisys
    Que veut tu dir par convertir ?????
    Convertir = transformer un champ de type BLOB(1024000) en un champ de type CLOB(2048000) en gardant les données existantes.

    La commande ALTE TABLE serait idéalement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE FCELAIA/MATABLE ALTER COLUMN B SET DATA TYPE CLOB (2048000)
    malheureusement, cette conversion ne se fait pas si aisément sous DB2 avec ce genre de type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Attributs de la colonne B de MATABLE dans FCELAIA incompatibles.
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  5. #5
    Membre extrêmement actif Avatar de denisys
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    1 175
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 175
    Par défaut
    Cela doit peut être venir de la version de DB2
    SGBDR : DB2-400 V5R2

  6. #6
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut
    Je serai curieux d'avoir la preuve que cela marche en UDB derniere release

    Mais que faaaire

    c'est incroyable, ce modèle de genres sur DB2 : certaines fonctionalités basiques n'existent toujours pas tandis que d'autres très évoluées existent depuis des années
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  7. #7
    Membre extrêmement actif Avatar de denisys
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    1 175
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 175
    Par défaut
    Je toujours essayer un test de week end avec la version 8 de DB2

  8. #8
    Membre extrêmement actif Avatar de denisys
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    1 175
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 175
    Par défaut
    La version n’y est pour rien apparemment
    C’est la version 8.1 pour windows

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    db2 => create table fadace1(nclob clob(1024000))
    DB20000I La commande SQL a abouti.
    db2 => alter table fadace1 alter column nclob set data type clob(2048000)
    DB21034E La commande a été traitée comme une instruction SQL car il ne s'agit
    pas d'une commande valide pour l'interpréteur de commandes.  Le message SQL
    suivant a été renvoyé lors de  son traitement :
    SQL0190N Les attributs spécifiés pour la colonne "NCLOB" de la table
    "ADMINISTRATEUR.FADACE1" dans l'instruction ALTER TABLE ne sont pas
    compatibles avec ceux de la colonne existante.  SQLSTATE=42837
    db2 =>

  9. #9
    Membre extrêmement actif Avatar de denisys
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    1 175
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 175
    Par défaut
    D’après mes archives sur SQL DB2 la formule que tu utilise : " mofifie la taille de la colonne "
    EX :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE db2.tablob ALTER COLUMN  comment SET DATA TYPE VARCHAR(40)
    J’ai fais un test avec une colonne en varchar(20) je l’ai passé en varchar(30) et c’est OK
    Mais elle ne change pas le type de colonne.

  10. #10
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut
    C'est bien ce que je redoutais: retombé à l'âge du paléolithique

    Sur certains points évolués, DB2 est remarquable comparé aux autres SGBDR (ex. jointures ANSI depuis les années 90), pour d'autres basiques, c'est le burin et la tablette de marbre...

    Ma question rste entière : comment faire cette conversion ?
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  11. #11
    Membre extrêmement actif Avatar de denisys
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    1 175
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 175
    Par défaut
    comment faire cette conversion ?

    et si tu changé de stratégie ????
    oui , car les types de données BLOB et CLOB ont des attributs !!!
    je m’explique , lorsque j’ai simplement voulue changer la taille a une colonne de type BLOB
    DB2 a refusé ce changement en me lançant un message comme quoi les attributs de la colonne ne permettents de modifications.
    Je suis allé voir comment étais faite cette colonne par l’interface graphique de DB2, et effectivement il y a des attributs (ou des options : comme tu veux) permettant de gérer les données .
    Donc stratégie :
    Si tu ajoute une colonne du type voulue , que tu copie les donnés dans cette colonne , est ce que ça le fait ????
    Mais prudence , ne supprime pas , ni les données , ni la colonne dans un premier temp .

  12. #12
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut
    Non, car lors de la copie, DB2 essaie de faire le changement de type via conversion... et cintre avec le même msg d'erreur. La seule solution que je vois pour l'instant est l'écriture d'un programme (Java ou autre) lisant le blob et le transférant dans un clob... le problème, c'est que ce type de manipulation via programmation cliente est lent... et ma table est monstrueuse.
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  13. #13
    Membre extrêmement actif Avatar de denisys
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    1 175
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 175

Discussions similaires

  1. Conversion d'un clob SQL en String pour Ireport
    Par juliend09 dans le forum iReport
    Réponses: 0
    Dernier message: 15/04/2010, 11h43
  2. Conversion d'un clob vers un fichier sql
    Par tipon20 dans le forum PL/SQL
    Réponses: 2
    Dernier message: 17/10/2008, 07h20
  3. Mysql supporte-t-il les technologies BLOB et CLOB?
    Par Greg.shogun dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 31/10/2007, 08h31
  4. Réponses: 2
    Dernier message: 10/11/2004, 12h21
  5. [DB2][Access]Conversion de caractères
    Par BAYRAL dans le forum DB2
    Réponses: 2
    Dernier message: 12/10/2004, 10h00

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