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 :

Flat File DT_STR to SQL 2008 R2 Float en DTSX


Sujet :

MS SQL Server

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Flat File DT_STR to SQL 2008 R2 Float en DTSX
    Bonjour,

    Peut-être qq a déjà rencontré ce problème de conversion, du coup je me permet de soliciter votre aide.
    J'ai un fichier texte en entrée que je souhaite importer en BDD via un package DTSX.

    Ma Source (Flat File)
    Col5 (DT_STR) Col6(DT_STR)
    00000001220.000; 00000000792.04
    00000001200.000; 00000000094.77
    00000002500.000; 00000002381.48

    Le composant de conversion me retourne une erreur DT_STR to DT_R8
    Le composant colonne derrivé me retourne une erreur (DT_R8) Col5

    Ma solution de contournement est de faire une importation dans une table temporaire avec un type nvarchar puis d'effectuer un cast "select CAST([Col5] as float) from Temp_Table puis d'effectuer un insert dans ma table de destination.

    Cette solution fonctionne mais j'ai plus de 200 fichier à importe en base avec des types identiques donc la création de table temporaire ou bien de curseur n'est pas viable pour des soucis de performances et de maintenance.

    Si vous avez des idées ou des solutions à proposer, je suis preneur.
    Merci de m'éclairer si vous avez une idée.

    C'est quand même incroyable qu'on ne puisse pas faire une conversion de type string vers du float en dtsx ? Ou bien ai je zapper une étapes dans mon dataflow ?

  2. #2
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Vous pouvez utiliser une tâche de conversion pour cela.

    ++

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par mikedavem Voir le message
    Vous pouvez utiliser une tâche de conversion pour cela.
    Le composant de conversion me retourne une erreur DT_STR to DT_R8

  4. #4
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    Quelle est exacatement l'erreur lorsque vous utiliser le composant de conversion ?
    Je viens de faire un test et j'ai bien une erreur lorsque ma décimale est avec un ".", par contre ça fonctionne avec une "," à voir donc du côté des infos régionales. Sinon un petit REPLACE pas beau.
    Alexandre Chemla - Consultant MS BI chez Masao

  5. #5
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Yep,

    Je pencherai également pour un problème de séparateur.

    ++

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Jinroh77 Voir le message
    Quelle est exacatement l'erreur lorsque vous utiliser le composant de conversion ?
    Je viens de faire un test et j'ai bien une erreur lorsque ma décimale est avec un ".", par contre ça fonctionne avec une "," à voir donc du côté des infos régionales. Sinon un petit REPLACE pas beau.

    Oui effectivement le "." et "," peuvent fonctionner avec un replace pas beau mais le hic c'est que je ne peux pas généraliser l'import sur tous mes fichiers étant donné que mon séparateur change.

    Je regrette simplement que le DTSX ne sois pas aussi souple que le DTS a la mode 2000.

    Merci pour vos responses.

  7. #7
    Membre chevronné

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Points : 1 758
    Points
    1 758
    Par défaut
    Citation Envoyé par HatchFirst Voir le message
    Le composant de conversion me retourne une erreur DT_STR to DT_R8
    Comment avez vous configure votre composant de conversion ?
    Avez vous essaye avec un composant de colonne derivee et une expression comme ceci ?

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Sujet clot,

    Cela vient bien des paramètres régionnaux et linguistiques côté server simplement pour les décimal lui indiquer "." au lieux de la ","

    SQL SERVER 2008 R2 n'acceptera pas la conversion alors que SQL SERVER 2000 s'en contre balance.

    Encore une incomprehension de plus chez microsoft.

    Merci a tous pour votre réactivité.

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

Discussions similaires

  1. augmentation rapide de LOG FILE DB SQL 2008
    Par maydarak1 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/09/2014, 14h35
  2. Best Practice File System sql 2008
    Par Baquardie dans le forum Administration
    Réponses: 15
    Dernier message: 23/07/2010, 14h47
  3. [Informatica 7.1.2] Flat file
    Par macleod dans le forum Alimentation
    Réponses: 1
    Dernier message: 05/07/2007, 16h22
  4. [9i SQL Loader] format FLOAT dans le control file
    Par Fiora dans le forum Oracle
    Réponses: 4
    Dernier message: 26/04/2007, 13h49

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