IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Format de date attendu par Bulk


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 184
    Par défaut Format de date attendu par Bulk
    Je suis en train d'écrire une routine pour permettre la purge d'une table et sa restauration éventuelle.

    Pour l'export vers un ficheir texte j'utilise une syntaxe genre
    set @LC_Cmd = 'xp_cmdshell ''bcp "'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      set @LC_Cmd = @LC_Cmd + 'SELECT  '
      set @LC_Cmd = @LC_Cmd + 'Champ1, '
      set @LC_Cmd = @LC_Cmd + 'Convert(varchar(30), ChampDate, 120) As Date1l, '
      set @LC_Cmd = @LC_Cmd + 'Champ2, '
    etc...
    Ca marche parfaitement
    J'obtiens un fichier ASCII avec une date et une heure dont le format est bien celui que j'utilise à l'import
    Par contre pour restaurer je reçois un message d'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Msg 4864, Level 16, State 1, Line 1
    Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 1, column 8 (CallDateTime).
    Faut-il modifier le format exporté ou ajouter un paramètre au niveau restauration

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Pourquoi utilisez-vous la commande Convert(varchar(30), ChampDate, 120) ?

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 184
    Par défaut
    Parce que j'obtiens ainsi une date au format AAAA-MM-JJ HH:MN:SS comme j'utilise dans un Insert.
    Si je ne mets rien ça plante au moment de réimporter.
    Ca plante aussi en le mettant d'ailleurs.
    Vous me conseilleriez quoi ?

  4. #4
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut
    Un fichier de format bcp
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 184
    Par défaut
    Je m'en suis sorti en laissant le côté BDP générer normalement
    Au niveau Bulk, au lieu de l'exécuter tel quel j'ai fait un Insert Select du résultat obtenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    insert into LaTable
    (Champ1, Champ2, etc...)
    select Valeur1, valeur2
     from openrowset ( 
     BULK  FichierArchive
     formatfile = FichierFormat.xml
    ) as RawImport '

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pb de format des dates reçues par MySQL
    Par alter dans le forum Administration
    Réponses: 0
    Dernier message: 24/08/2010, 09h42
  2. Format de date : modifier par le .parse
    Par care dans le forum Langage
    Réponses: 4
    Dernier message: 06/01/2010, 14h32
  3. Format date retouré par Proc Stoc
    Par kaboume dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/07/2007, 14h57
  4. Problème de format de date par défaut
    Par anitshka dans le forum Langage
    Réponses: 4
    Dernier message: 31/07/2006, 12h22
  5. BULK INSERT et format de date
    Par Fragonard dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 12/08/2005, 08h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo