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

PL/SQL Oracle Discussion :

LOb, accès et modification [10gR1]


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de olivanto
    Responsable d'exploitation informatique
    Inscrit en
    Mars 2005
    Messages
    513
    Détails du profil
    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2005
    Messages : 513
    Par défaut LOb, accès et modification
    bonjour,

    Je viens de constater que je suis incapable de faire une recherche, ou une modification dans un LOB (dans mon cas, des zones de commentaires de 4000 caractères).

    J'ai déjà eu du mal à comprendre pourquoi Toad n'affichait rien (résolu) ....

    Je dois rechercher et supprimer des mots précis dans des milliers d'enregistrements ; ca parait plutôt simple dans un Varchar2, mais dans un LOB, rien ne passe, même pas une recherche (me dit qu'il attend un number sur du texte ....? au secours !! )

    Y'a t-il un spécialiste pour m'expliquer brièvement le pourquoi du comment, s'il vous plait ....?

    merci.

  2. #2
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Il va falloir un peu plus détailler ta demande, car il existe déjà 2 types de LOB : CLOB (Caractères) et BLOB (Binaires)
    Ensuite, les accès sur les LOB sont faits "en direct", modifier un LOB lu depuis la base va modifier la base directement.
    Et enfin, il n'existe pas de fonction qui permette de remplacer dans tout un LOB, il faut faire une procédure
    exemple simple :
    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
    DECLARE
     v_clob CLOB; 
     i NUMBER;
     len NUMBER;
    BEGIN
    	DBMS_LOB.createtemporary(v_clob, TRUE);
      DBMS_LOB.append(v_clob, DBMS_RANDOM.STRING('u', 2000));
      len := DBMS_LOB.getlength(v_clob);
      FOR i IN 1..5
      LOOP
      	DBMS_OUTPUT.PUT_LINE(DBMS_LOB.SUBSTR(v_clob, 400, (i-1) * 400+1));
    	END LOOP;
      DBMS_OUTPUT.PUT_LINE('Premier A trouvé en :'|| DBMS_LOB.INSTR(v_clob, 'A'));
      WHILE DBMS_LOB.INSTR(v_clob, 'A') > 0
      LOOP
      	i := DBMS_LOB.INSTR(v_clob, 'A');
      	v_clob := DBMS_LOB.SUBSTR(v_clob, i-1, 1) ||'-'|| DBMS_LOB.SUBSTR(v_clob, len, i+1); 
      END LOOP;
      FOR i IN 1..5
      LOOP
      	DBMS_OUTPUT.PUT_LINE(DBMS_LOB.SUBSTR(v_clob, 400, (i-1) * 400+1));
    	END LOOP;
    END;

  3. #3
    Membre éclairé Avatar de olivanto
    Responsable d'exploitation informatique
    Inscrit en
    Mars 2005
    Messages
    513
    Détails du profil
    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2005
    Messages : 513
    Par défaut
    tout d'abord merci bcp bcp de ce retour.

    Je suis incapable de répondre à ta question sur la nature du LOB dans les deux tables que je dois traiter...

    Un DESC m'indique que le champ est un LONG, et rien d'autre...

    J'essaie de comprendre ta procédure (je suis pas un pro des procédures, visiblement...), et j'ai du mal...

    V_LOB est la variable où j'indique le champ LOB, c'est çà l'idée ?

    Le DBMS_RANDOM_STRING avec 'u' est la chaine que je cherche à remplacer ?

    A vrai dire, je n'appréhende pas du tout comment exploiter ton code....help !

    merci bcp en tout cas...

  4. #4
    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
    Citation Envoyé par olivanto Voir le message
    ...
    Un DESC m'indique que le champ est un LONG, et rien d'autre...
    Long != LOB

  5. #5
    Membre éclairé Avatar de olivanto
    Responsable d'exploitation informatique
    Inscrit en
    Mars 2005
    Messages
    513
    Détails du profil
    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2005
    Messages : 513
    Par défaut
    moi je veux bien, mais alors c'est quoi ?

  6. #6
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    C'est un très mauvais type de données
    http://www.developpez.net/forums/d12...probleme-long/

    Il y a d'autres sujets sur le forum pour transformer en base un LONG en CLOB

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 17
    Dernier message: 17/08/2007, 15h07
  2. Réponses: 3
    Dernier message: 13/06/2007, 15h50
  3. Log des acces et modification
    Par Nadaa dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/01/2007, 00h02
  4. Problème d'accés aux modifs de l'utilisateur
    Par cedlpv dans le forum Langage
    Réponses: 4
    Dernier message: 01/08/2006, 19h55
  5. [Conception] Problème d'accés aux modifs de l'utilisateur
    Par cedlpv dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 01/08/2006, 15h41

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