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 :

problème type de donnée heure et date


Sujet :

MS SQL Server

  1. #1
    Membre averti
    Homme Profil pro
    Sopotel
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Sopotel
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Par défaut problème type de donnée heure et date
    Bonjour j'ai un petit problème avec ma table, créer sur sql server 2008.
    Petite explication: j'ai des fichiers csv que je veux extraire dans ma base de donnée, j'utilise SSIS.
    Dans ce csv, j'ai une date et heure : 2011.06.02 01:06:08.99 et je sépare ma date et mon heure dans 2 colonnes. Lors de l'extraction de mes données vers ma base sql server, j'obtiens des valeurs nulles dans mes 2 colonnes date et heure.

    Je ne sais pas,si cela viens d'un mauvais paramétrage de mon FLAT FILE ou de SQL SERVER 2008.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    CREATE TABLE [dbo].[MisServer](
    	[id] [int] IDENTITY(1,1) NOT NULL,
    	[datefichier] [date]  NULL,
    	[timer] [time]  NULL,

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Par défaut
    Bonjour,

    A mon avis, si tu veux une réponse, il faut donner plus de précisions :

    Au minimum :

    un extrait du fichier csv
    description du package pour l'import
    les logs et messages d'erreurs ou warning

    Cordialement

  3. #3
    Membre averti
    Homme Profil pro
    Sopotel
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Sopotel
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Par défaut
    voici un extrait de mon fichier csv:

    2011.06.02 01:06:05.45,EDS2 3A2-1711,BagSc,,,,,
    2011.06.02 01:06:07.06,EDS2 3A2-1711,TagIn,NAFZ2014856,,,,
    2011.06.02 01:06:08.81,EDS2 3A2-1711,MfDec,NAFZ2014856,R,,,
    2011.06.02 01:06:08.82,EDS2 3A2-1711,SendB,NAFZ2014856,50.2.4.3,960,R,
    2011.06.02 01:06:09.06,EDS2 3A2-1711,SentB,NAFZ2014856,50.2.4.3,,,
    2011.06.02 01:06:08.99,PO-2A-10G-3,WsRcv,NAFZ2014856,711,960,0,
    Images attachées Images attachées  

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Citation Envoyé par nathantahiti Voir le message
    Dans ce csv, j'ai une date et heure : 2011.06.02 01:06:08.99 et je sépare ma date et mon heure dans 2 colonnes.
    pour quelle raison ? pourquoi ne pas stocker dans une seule colonne en DATETIME2(2) ?

    Ce serait plus simple, en plus d’économiser 2 octets !

  5. #5
    Membre averti
    Homme Profil pro
    Sopotel
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Sopotel
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Par défaut

    pour quelle raison ? pourquoi ne pas stocker dans une seule colonne en DATETIME2(2) ?

    Ce serait plus simple, en plus d’économiser 2 octets !
    Effectivement cela aurait été plus simple avec un DATETIME , mais je dois absolument avoir une colonne date et heure. C'est pour faire des rapports, je veux séparé les 2 pour faire des calculs avec macolonne heure.

    Dans ma base je voudrais avoir:
    2011.06.02 |00:01:19.60|EDS2 3A2-1711 |50.19.7.187|00:01:21.20| NAFZ2014851|00:01:23.10 |R|00:01:23.32|PO-2A-10G-3|50.2.4.3| 00:01:23.76 |00:01:25.38|R|
    En rouge tu as toutes les heures qui sont importantes pour mon rapport.
    En gros des données qui sont sur plusieurs lignes dans mon csv, je les insère sur une seule ligne.

  6. #6
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Citation Envoyé par nathantahiti Voir le message
    ... pour faire des calculs avec macolonne heure.
    cela n’empêche pas d'extraire la partie heure très facilement :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    declare @d datetime2(2) = '2011.06.02 01:06:08.99'
     
    SELECT CAST(@d AS TIME)
     
    -- 01:06:08.9900000

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Par défaut
    Bonjour,

    Indépendamment de cette séparation de date et heure (aieuu a raison), ton log montre une erreur sur le champ datefichier, donc c'est normal que tu n'aie rien.

    A mon avis, tu devrait mettre une virgule dans le fichier csv entre la date et l'heure, et changer le délimiteur de date fichier en mettant virgule.

    A moins qu'il suffise de mettre un délimiteur "espace" : on ne voit rien dans la case délimiteur, mais il me semble que c'est plus propre de mettre le même délimiteur pour tous les champs d'un fichier csv.

    Essaye comme ça, et tu pourra toujours peaufiner ensuite.

    Cordialement

  8. #8
    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 : 43
    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,

    cette séparation de date et heure (aieuu a raison)
    Pas forcément si nathantahiti veut effectuer des calculs d'agrégats entre des heure spécifiques ...

    @++

  9. #9
    Membre averti
    Homme Profil pro
    Sopotel
    Inscrit en
    Juillet 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Sopotel
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 33
    Par défaut
    Bonjour merci de vos réponses, j'essaye de faire ce que aieeeuuuuu ma conseillé de faire:
    pour quelle raison ? pourquoi ne pas stocker dans une seule colonne en DATETIME2(2) ?
    Ce serait plus simple, en plus d’économiser 2 octets !
    mais j'ai toujours des valeurs nulles dans ma table sql server et des erreurs dans mon package SSIS. voir pièces jointes.
    Images attachées Images attachées   

Discussions similaires

  1. [eZ Publish] Problème type de données provenant d'un fichier .ini
    Par azrael62 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 06/06/2012, 11h16
  2. Réponses: 4
    Dernier message: 21/02/2012, 15h36
  3. Type de donnée heure-minute-seconde
    Par lity7 dans le forum C#
    Réponses: 2
    Dernier message: 11/09/2008, 00h58
  4. [Access-->MSSQL]Problème type de donnée booléen
    Par guigui11 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/06/2008, 16h27
  5. interbase : types de donnés : AutoIncrement et Date ???
    Par delphien dans le forum Bases de données
    Réponses: 2
    Dernier message: 12/04/2004, 17h29

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