Comment déclarer des variables séparés par des points sous oracle??? - SQL/NoSQL - Programmation
Marsh Posté le 29-09-2003 à 10:51:59
je comprends pas bien ce que tu veux faire, mais si tu veux utiliser une chaine, mets le entre quotes (')
Marsh Posté le 29-09-2003 à 10:55:40
Urd-sama a écrit : je comprends pas bien ce que tu veux faire, mais si tu veux utiliser une chaine, mets le entre quotes (') |
tu peux me donner un exemple ?
Marsh Posté le 29-09-2003 à 11:11:08
explique moi ce que tu veux faire plutot
je n'ai pas bien compris dans ton premier post
Marsh Posté le 29-09-2003 à 11:23:15
je m'explique, je suis en train de recupérer les données d'un fichier *.csv ( champ séparé par des points virgules) et les transférer sur une base de donnée oracle.la première colone est composé de données de ce type : 5.36081.11
je voulais savoir pour créer ma table quelle définition de type de donnée je devais mettre ( number, decimal, char)
pour l'instant j'utilise char(20), çà marche mais je voulais savoir si par la suite je pourrais faire un regroupement sur ce type de données
sinon autre souci , une des colonnes du fichier csv est vide , ce qui donne blablabla;;biblibli : donc il n'y a rien entre les 2 points virgules et çà je dois le déclarer comment pour dire que quand il n'y a rien, qu'il me le compte comme colonne et non pas qu'il me décale les colonnes et se trompe après dans les données ou lui dire que dans le cas ou il y aurait quelque chose, qu'il mette la valeur correspondante!
je sais pas si j'ai été clair mais merci beaucoup d'avance
Marsh Posté le 29-09-2003 à 11:30:28
Children_of_the_dos a écrit : je m'explique, je suis en train de recupérer les données d'un fichier *.csv ( champ séparé par des points virgules) et les transférer sur une base de donnée oracle.la première colone est composé de données de ce type : 5.36081.11 |
Heu, je suis pas sûr de bien comprendre ton problème.
C'est assez simple il me semble : tu as un fichier que tu veux importer dans une base Oracle. Donc ce que tu dois faire, c'est créer une table qui a le même format que ton fichier source ( même nombre de colonne et avec les bon types ). Une fois que c'est fait, tu importe ça via le SQL Loader et voilà.
http://didier.deleglise.free.fr/db [...] aderfs.htm
Marsh Posté le 29-09-2003 à 11:56:54
çà c'est bon , je l'ai compris , mais j'ai une colonne qui est vide dans mon tableau mais au lieu de laisser une colonne vide en sortie du loader, lui me décale toutes les colonnes ! en effet quand il voit ;jflkjsdlkf;;fjlsfj; ou il ya deux points virgules qui se suivent , ils devraient y avoir des données , dans mon cas , il n'y en pas au lieu de me créer une colonne vide , le loader me décale la colonne ne prenant pas en compte ma colonne vide!
on va y arriver
merci
Marsh Posté le 29-09-2003 à 12:01:17
Children_of_the_dos a écrit : çà c'est bon , je l'ai compris , mais j'ai une colonne qui est vide dans mon tableau mais au lieu de laisser une colonne vide en sortie du loader, lui me décale toutes les colonnes ! en effet quand il voit ;jflkjsdlkf;;fjlsfj; ou il ya deux points virgules qui se suivent , ils devraient y avoir des données , dans mon cas , il n'y en pas au lieu de me créer une colonne vide , le loader me décale la colonne ne prenant pas en compte ma colonne vide! |
Ajoute
Citation : trailing nullcols |
dans ton .ctl
Tu dois avoir un truc du genre :
Citation : into table [ta_table] |
Marsh Posté le 29-09-2003 à 12:19:16
Children_of_the_dos a écrit : déjà mis !! |
Ben je sais pas, j'ai jamais eu de problème de ce genre
Fait voir ton .ctl et un exemple de ligne ?
Marsh Posté le 29-09-2003 à 13:52:45
load data
into table T_SUIVI_GSM_2
fields terminated by ';'
trailing nullcols
(
CENTRE_PAYEUR
, FACTURE_ID
, RAISON_SOCIALE
, No_UTILISTEUR
, NOM_UTILISATEUR
, REFERENCE_UTILISATEUR ( c cette colonne qui est vide)
, No_TELEPHONE
, No_APPELE
, ZONE_APPELE
, DATE_APPEL Date(5) "DD/MM"
, HEURE Date(7) "HH24:MI"
, PERIODE
, DUREE Date(10) "HH24:MI:SS"
, COUT_HT
, DEVISE
)
et voici une ligne
5.36081.11;20000893490703;pingouin;5.36081.11.00.100002;pierre paul;;0668424454;0477966336;Communications interplanétaires;04/07;18:14;HP;00:02:30;0.1981;EUR
help !
Marsh Posté le 30-09-2003 à 10:47:11
Children_of_the_dos a écrit : load data |
Faut indiquer le type ... non ?
load data
into table T_SUIVI_GSM_2
fields terminated by ';'
trailing nullcols
(
CENTRE_PAYEUR CHAR(15)
, FACTURE_ID NUMBER ...
Marsh Posté le 30-09-2003 à 16:17:17
non, le type , tu ne l'indique pas dans ton .ctl
je l'ai déjà indqiué dans une table .sql
mais c bon, j'ai trouvé comment faire
merci
Marsh Posté le 03-10-2003 à 21:54:56
G pas lu le topic mais suite a ton premier
pour ta colonne tu dois declarer un type du style NUMBER(1,2) , c un truc dans ce style la j avoue que la g un trou de memoire...
Cherche un peu dans l aide oracle je crois que l un precise la taille et l autre le nombre de chiffres apres la virgule.
Marsh Posté le 29-09-2003 à 09:56:34
bonjour, je suis en train de créer une base de donnée dont la première colonne est composé de valeur de type : 5.36081.11
j'ai essayé colonne_1 CHAR(5.36081.11), çà marche pas ( ORA-01722: invalid number) , dites moi ce que je dois faire merci
j'ai essayé google et rechecher, ils m'aident pas trop ce matin !
j'ai aussi essayé decimal à la place de char , number aussi mais c pareil !