Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
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 13/05/2008, 15h23   #1
Membre à l'essai
 
Inscription : décembre 2007
Messages : 119
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 119
Points : 21
Points : 21
Par défaut Chaînes de caractères en PL/SQL

bonjour,
je suis entrain de faire un script qui lit des données dans un fichier et les insère dans une table orale(10g)
les données sont collées dans le fichier (sans separateur de champs).
etant données que je travaille avec utl_file, est ce que quelqu'un a une idée pour pouvoir faire la lecture des données pour chaque champs de ma table.
merci d'avance
nabelou1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2008, 15h41   #2
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 459
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 459
Points : 4 226
Points : 4 226
SUBSTR
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2008, 15h54   #3
Membre à l'essai
 
Inscription : décembre 2007
Messages : 119
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 119
Points : 21
Points : 21
cool, c'est exatement ce que je cherchais
merci
nabelou1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2008, 16h57   #4
Membre à l'essai
 
Inscription : décembre 2007
Messages : 119
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 119
Points : 21
Points : 21
mais des fois j'ai une erreur
Code :
1
2
3
 
ORA-06502: PL/SQL : erreur numérique ou erreur sur une valeur: tampon de chaîne
de caractères trop petit
alors que aucune de mes variable na plus de 15 caractere. mes variables sont declarer varchar2(20);
merci d'avance
nabelou1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2008, 17h10   #5
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 534
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 534
Points : 6 471
Points : 6 471
c'est trop petit. Il est clair que vous essayez d'insérer plus de caractères que la chaîne ne peut contenir.
__________________
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 13/05/2008, 17h25   #6
Membre à l'essai
 
Inscription : décembre 2007
Messages : 119
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 119
Points : 21
Points : 21
alors quand on fait varchar2(20), les vinght ne correspondent pas au nombre de caractere?
pourquoi un varchar2(20) est insuffisant pour contenir 15 caracteres?
nabelou1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2008, 17h26   #7
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 459
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 459
Points : 4 226
Points : 4 226
Sans code, c'est dur de voir.
Soit c'est la récup de la ligne de ton fichier qui plante, soit c'est l'affectation d'une variable.
Tu peux mettre une trace dans ton prog et lors de l'erreur savoir où cela s'est produit.
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2008, 17h31   #8
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 523
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 523
Points : 3 975
Points : 3 975
Citation:
Envoyé par nabelou1 Voir le message
alors quand on fait varchar2(20), les vinght ne correspondent pas au nombre de caractere?
pourquoi un varchar2(20) est insuffisant pour contenir 15 caracteres?
Il faut aussi faire attention entre le varchar2(20 CHAR) et le varchar2(20 BYTE) si tu manipules des caractères étrangers.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2008, 18h11   #9
Membre à l'essai
 
Inscription : décembre 2007
Messages : 119
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 119
Points : 21
Points : 21
ça marche correctement pour la ligne, mais lorsque j'essaie de faire
variable varchar2(20);
variable:=substr(ligne,x,15);
c'est la que ça plante.
quand je prends variable varchar2(400) ça marche.
j'ai pas pigé ce qui se passe
nabelou1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h01.


 
 
 
 
Partenaires

Hébergement Web