Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1383 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  TimeStamp dans le SQL Loader

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

TimeStamp dans le SQL Loader

n°1504455
tedparker9
Posté le 17-01-2007 à 23:39:55  profilanswer
 

Bonjour,
 
j'ai un problème d'insertion de TIMESTAMP dans une table Oracle de la forme :
CREATE TABLE CountryRegion  
(
 CountryRegionCode nvarchar2 (3) NOT NULL ,  
 Name nvarchar2 (50) NOT NULL ,  
 ModifiedDate timestamp  DEFAULT  ( (SYSDATE) ) NOT NULL ,  
 CONSTRAINT PK_CountryRegion_Country_ADV66 PRIMARY KEY (CountryRegionCode)  
)
 
Voila mon fichier CSV:
AD;Andorra;1998-06-01 00:00:00.000
AE;United Arab Emirates;1998-06-01 00:00:00.000
.....
 
Et mon fichier de contrôle :
 
LOAD DATA INFILE 'C:\LOAD\DATA\02-CountryRegion.csv'
INTO TABLE CountryRegion  
FIELDS TERMINATED BY ';'
(   CountryRegionCode position (1:2),
 Name,  
 ModifiedDate TIMESTAMP(6) "YYYY-MM-DD HH12:mi:ss.ff3"
)
 
J'obtiens l'erreur :
 
Enregistrement 1 : Rejeté - Erreur sur table COUNTRYREGION, colonne MODIFIEDDATE.
ORA-01841: L'année (complète) doit être comprise entre -4713 et +9999 et être différente de 0
 
Si j'ote l'option TIMESTAMP ...., j'obtiens l'erreur:
 
Enregistrement 1 : Rejeté - Erreur sur table COUNTRYREGION, colonne MODIFIEDDATE.
ORA-01858: Caractère non numérique trouvé à la place d'un caractère numérique
 
Que faire??
 
Si je tentes les INSERT un à un en castant "timestamp", ca passe nickel. Est-il possible de caster autrement dans le fichier de contrôle ??
 
Merci

mood
Publicité
Posté le 17-01-2007 à 23:39:55  profilanswer
 

n°1504471
tedparker9
Posté le 18-01-2007 à 01:13:00  profilanswer
 

Pour simplifier (enfin gspr) le problème, j'ai modifié le type de la table en DATE.
J'ai testé de tronquer le champ sur la première ligne pour effectuer des tests:
 
AD;Andorra;1998-06-01
 
LOAD DATA INFILE 'C:\LOAD\DATA\02-CountryRegion.csv'
INTO TABLE CountryRegion  
FIELDS TERMINATED BY ';'
(   CountryRegionCode position (1:2),
 Name,  
 ModifiedDate "to_date(:ModifiedDate,'YYYY-MM-DD')"
)
 
 
J'obtiens la très agaçante erreur suivante :
 
Enregistrement 1 : Rejeté - Erreur sur table TEST, colonne MADATE.
ORA-01841: L'année (complète) doit être comprise entre -4713 et +9999 et être différente de 0
 
Comment faire SVP ??
Merci
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  TimeStamp dans le SQL Loader

 

Sujets relatifs
SQL pas tres dur mais je suis nul :)Requête SQL
PRobleme requette SQLRequête sous Access, mode création ou SQL
Formulaire (SQL)Sql : access denied..
SQL : requêtes multibases[SQL Server 2000]Petite aide sur les procédures stockées
Problème de requête SQL - PHP - mysqlTableau dynamique sous ASP.net (C# et SQL Server)
Plus de sujets relatifs à : TimeStamp dans le SQL Loader


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR