Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Forms
Forms Forum d'entraide sur Oracle Forms
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/12/2006, 17h40   #1
Membre Expert
 
Inscription : avril 2005
Messages : 1 672
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 672
Points : 1 337
Points : 1 337
Par défaut [forms 6i] gestion des CLOB

Bonjour,

Sous forms 6i, j'essaye de manipuler une colonne de type CLOB via un bloc de données base table contenant (entre autres) un item de type CHAR(900).

J'arrive à lire le CLOB et à le mettre à jour mais, si à l'exécution je supprime le contenu de l'item associé à cette colonne alors lorsque je rafraichis les données, le contenu de cet item est :
Citation:
###########
En outre, si je mets à jour mon enregistrement via SQLPlus comme ceci :
Code :
1
2
3
4
 
UPDATE B2800
SET    AN_COMMENT = NULL
WHERE  ...
alors l'item correspondant est effectivement vide et non rempli de dièses.

Comment effectuer cette mise à jour sous forms 6i ?
Merci d'avance.
Magnus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2006, 17h53   #2
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
Je crois qu'il vaut mieux utiliser le datatype LONG pour un item basé sur un LOB
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2006, 08h25   #3
Membre Expert
 
Inscription : avril 2005
Messages : 1 672
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 672
Points : 1 337
Points : 1 337
Salut SheikYerbouti et merci de votre réponse.

Citation:
Envoyé par SheikYerbouti
Je crois qu'il vaut mieux utiliser le datatype LONG pour un item basé sur un LOB
Ah !
J'ai choisi de passer exprès par le type CHAR car j'ai besoin de pouvoir trier les données du bloc sur cette colonne.
Or, si celle-ci est de type LONG alors le tri génère un message d'erreur car il n'est pas possible d'effectuer un tri sur une donnée de type LONG :
Citation:
ORA-00997: utilisation interdite du type de données LONG
Par conséquent, je suis dans une impasse : soit je perds la possibilité de trier sur cette colonne, soit j'aurai des dièses lorsque l'utilisateur rendra cette zone nulle ?

Remarque : je pourrai développer cet écran sous forms 9i mais il n'existe pas le type CLOB donc je ne pense pas bénéficier d'une plus-value à ce niveau ?
Magnus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2006, 09h31   #4
Membre actif
 
Inscription : septembre 2006
Messages : 142
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 142
Points : 156
Points : 156
Si le champ ne doit pas dépasser 900 caractères autant utiliser un champ varchar dans la base de données.
__________________
DBA ORACLE
Arturius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2006, 09h58   #5
Membre Expert
 
Inscription : avril 2005
Messages : 1 672
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 672
Points : 1 337
Points : 1 337
Citation:
Envoyé par Arturius
Si le champ ne doit pas dépasser 900 caractères autant utiliser un champ varchar dans la base de données.
Effectivement, je ne sais pas pourquoi cette colonne est de type CLOB et non VARCHAR2(900).
Pour solutionner mon problème initial, j'ai quand même choisi de déclarer l'item correspondant en LONG(900) et j'ai donc été obligé d'abandonner la fonctionnalité du tri sur cet item.

Merci à vous 2.
Magnus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h40.


 
 
 
 
Partenaires

Hébergement Web