Chargement direct par chemin de données TimeStamp avec SQL * LDR
-
01-07-2019 - |
Question
La documentation SQL-LDR indique que vous devez effectuer un chargement de chemin classique:
Lorsque vous souhaitez appliquer des fonctions SQL aux champs de données. Les fonctions SQL ne sont pas disponible pendant une charge de chemin direct
Les données TimeStamp sont stockées dans un fichier CSV que je charge avec SQL-LDR en décrivant les champs comme tels:
STARTTIME "To_TimeStamp(:STARTTIME,'YYYY-MM-DD HH24:MI:SS.FF6')",
COMPLETIONTIME "To_TimeStamp(:COMPLETIONTIME,'YYYY-MM-DD HH24:MI:SS.FF6')"
Ma question est donc la suivante: pouvez-vous charger des données d’horodatage sans fonction ou ne pouvez-vous pas effectuer de chargement direct sur un chemin lors du chargement de données TimeStamp?
La solution
Voici un exemple de téléchargement direct d'horodatage effectué par une personne:
Chargement de données (Partie 4 ): sqlldr (direct, skip_index_maintainance)
Autres conseils
De cette discussion sur le forum OTN:
il vous suffit de définir l'environnement variable NLS_TIMESTAMP_FORMAT à dire SQL * Loader à quel format s'attendre le horodatage pour être dans:
set NLS_TIMESTAMP_FORMAT = AAAA-MM-JJ HH24: MI: SS.FF
.. et supprimer la référence à la to_timestamp fonctionne complètement à partir de le fichier de contrôle.
En passant, la plupart d’entre nous avons cessé d’utiliser «SQL Loader» pour la version plus avancée «Tables externes», à supposer que vous utilisiez une version plus récente d’Oracle.