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 :

[Débutant] Lot DTS et importation d'un fichier texte


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations forums :
    Inscription : Décembre 2004
    Messages : 12
    Par défaut [Débutant] Lot DTS et importation d'un fichier texte
    Bonjour, j'espère que ma question n'a pas déjà été posée, sinon je m'en excuse d'avance.

    Je souhaite importer des données d'un fichier txt vers une table. Rien de très compliqué, j'y arrive sans problèmes. Seulement je me sers d'un champ texte comme clef pour ma table. Et dans mon fichier texte ce champ est parfois vide.

    Donc en gros j'aimerai récupérer (importer) toutes les lignes de mon fichier txt dont le champ "nom" n'est pas vide.

    Je ne sais pas du tout à quel endroit placer cette contrainte, je dispose juste d'un Text File (source), d'une tâche de transformation des données et d'un accès odbc à ma base.

    Merci de votre aide.

  2. #2
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Bonjour,

    Tu peux utiliser une transformation script ActiveX au lieu de tes transformation de copie de colonne. Dans le script, tu testes ta ligne pour déterminer si elle a un "nom".

    Exemple rapide :
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Function Main()
          if LTrim( DTSSource("nom") ) <> "" then
             DTSDestination("nom") = DTSSource("nom")
             '...
         end if
         Main = DTSTransformStat_OK
    End Function

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations forums :
    Inscription : Décembre 2004
    Messages : 12
    Par défaut
    Merci. Je vais essayer celà.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations forums :
    Inscription : Décembre 2004
    Messages : 12
    Par défaut
    Je suppose qu'il y a une déclaration préalable à faire, parce qu'il plante sur DTSource, y aurait il un lien vers DTS pour les nuls???

  5. #5
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    DTSSource correspond à ton recordset source. Il référence une collection de colonnes telles qu'elles sont nommées dans la transformation, c'est peut-être qqch comme DTSSource("Col001"). Quel est le message d'erreur ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations forums :
    Inscription : Décembre 2004
    Messages : 12
    Par défaut
    Voici un exemple de ce que j'ai mis, mais il me donne une erreur 'type incompatible' à la ligne 1 (if trim...) je ne comprends pas pourquoi. J'ai essayé avec cstr aussi ca ne passe pas mieux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    FUNCTION Main()
          IF not isempty(DTSSource("Col013")) then
             DTSDestination("Nom_Groupe") = DTSSource("Col013")
             DTSDestination("isCarteVerte") = DTSSource("Col007")

  7. #7
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    isempty(DTSSource("Col013").Value)

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

Discussions similaires

  1. [DTS][2k]Débutant Lots DTS
    Par dam28800 dans le forum SSIS
    Réponses: 0
    Dernier message: 15/10/2008, 09h07
  2. Import d'un fichier texte dans UN champ d'une table
    Par Gunther dans le forum Access
    Réponses: 4
    Dernier message: 06/12/2006, 20h04
  3. Restructurer l'import d'un fichier texte
    Par Deejoh dans le forum Access
    Réponses: 3
    Dernier message: 20/04/2006, 22h20
  4. Lots DTS et import Excel - problème de NULL
    Par gavelin dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/01/2006, 15h13
  5. importation d'un fichier texte vers excel
    Par darkpocket dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/01/2005, 11h47

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