Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > SQL*Loader
SQL*Loader Forum d'entraide sur Oracle SQL*Loader
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 03/10/2007, 13h55   #1
Membre du Club
 
Inscription : septembre 2006
Messages : 111
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 111
Points : 68
Points : 68
Par défaut SQL Loader : deux champs dans une colonne

Bonjour,

Tout d'abord je voudrais faire remarquer qu'il n'existe pas de section sql loader dans ce forum, du coup je ne sais pas trop ou poster mon message.

Voila mon souci : J'ai un fichier à intégrer dans une table...Le problème, c'est que j'ai deux champs séparés pour la date et l'heure, alors que je n'ai qu'une seule colonne date.

Est il possible de récupérer ces deux champs avec sql loader pour en faire une date au format "yyyymmdd hh24:mi:ss", que j'insère dans ma colonne DATE ?

Sinon comment faire ? car il n'existe pas de type TIME en oracle...


Je précise que mon fichier csv contient des champs séparés par des ";" et non des positions.


Merci par avance
Kiroukool est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2007, 12h51   #2
Futur Membre du Club
 
Inscription : mai 2007
Messages : 31
Détails du profil
Informations personnelles :
Âge : 28
Localisation : Belgique

Informations forums :
Inscription : mai 2007
Messages : 31
Points : 15
Points : 15
Ne peux tu pas créer une table intermédiaire pour faire le load avec un champ texte pour la date et un pour l'heure et faire ensuite tes transformations en insérant les données dans ta table à partir de la table intermédiare? Là il te suffirait de faire un to_date de la concaténation des 2 champs.
angebe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2007, 13h29   #3
Membre du Club
 
Inscription : septembre 2006
Messages : 111
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 111
Points : 68
Points : 68
C'est une alternative envisagée...mais je voulais savoir s'il était possible de le faire avec sql loader.

Merci quand même
Kiroukool est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2007, 22h02   #4
Membre habitué
 
Inscription : février 2006
Messages : 139
Détails du profil
Informations personnelles :
Âge : 37
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : février 2006
Messages : 139
Points : 126
Points : 126
Bonsoir,

ou bien alors une troisième colonne representant la bonne valeur et mettre un trigger after insert qui alimentera cette colonne(concatenation des 2 autres).

Sinon il faudrait te procurer la doc de sqloader sur le site d'Oracle. Il est dans le book Utilities si ma memoire est bonne. Il faut vite le récupèrer car avec les tables external SQLoader est bientôt mort

Cdt
kervoaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2007, 10h21   #5
Membre expérimenté
 
Inscription : juillet 2007
Messages : 495
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2007
Messages : 495
Points : 585
Points : 585
Les tables externes sont bien pratiques, mais je pense que SQLLoader ne sera mort que le jour où on pourra créer des index sur les tables externes, ce qui par définition semble impossible...

Pour en revenir à la question initiale, dès l'instant où on est en longueur variable, je pense qu'il n'y a pas de solution pour concaténer ces 2 colonnes au moment du chargement. Il faut effectivement passer par des bidouilles du style passer par 2 colonnes intermédiaires concaténées ensuite vers une troisième, ou passer par une table intermédiaire.
__________________
Des chercheurs qui cherchent, on en trouve, mais des chercheurs qui trouvent, on en cherche !
dgi77 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 21h44.


 
 
 
 
Partenaires

Hébergement Web