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

Développement SQL Server Discussion :

bcp : découpage fichier txt tous les 80 carcatères


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut bcp : découpage fichier txt tous les 80 carcatères
    Bonjour,

    J'ai une procedure stockée qui créais un fichier txt contenant des instructions Update à transmettre à un AS400.

    Pour créer ce fichier, j'utilise bcp qui fonctionne parfaitement.

    Mon probleme est que l'AS400 a une contrainte de longueur des instructions (80 caractères sur une ligne)

    J'ai beau cherché, je ne trouve pas de paramètres bcp permettant de découper la sortie tous les 80 caractères avec retour chariot.

    Existe t'il une méthode pour faire cela directement dans la procédure stockée?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    select 'update axfile/fan052p1 set TREP = ''' + tit_code + 
    	''' where RSTE = ' + cast(soc as nvarchar(3)) + ' and RAUX = ''' + tiers + 
    	''' and RSEQ = ''' +  sequence + ''';'as temp
    into TEMP
    from #tmp3 
     
    EXEC master..xp_cmdshell 'bcp mosaic.dbo.TEMP out F:\update2.txt -m 0  -c -CACP -t ; -T' , no_output

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    j'ai trouvé une solution qui me convient (dans un premier temps)

    j'utilise les caractères de retour à la ligne en tant que champ. Ce champ étant bien traduit en retour chariot dans bloc note
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    select 'update axfile/fan052p1 set TREP = ''' + tit_code + '''' as t1,char(13)+char(10) as retour,
    	' where RSTE = ' + cast(soc as nvarchar(3)) + ' and RAUX = ''' + tiers + 
    	''' and RSEQ = ''' +  sequence + ''';'as t2
    INTO TEMP
    FROM #tmp3 
     
    EXEC master..xp_cmdshell 'bcp mosaic.dbo.TEMP out F:\update.txt -m 0  -c -CACP   -T' , no_output

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 03/12/2007, 23h45
  2. fichier commun à tous les systèmes Linux
    Par Shugo78 dans le forum Administration système
    Réponses: 11
    Dernier message: 13/06/2007, 21h51
  3. Importer deux fichiers .txt et les mettres en corréalation !
    Par NoRKi dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 24/09/2006, 22h28
  4. rechercher des fichiers dans tous les dossiers
    Par nitteo dans le forum MFC
    Réponses: 4
    Dernier message: 23/06/2006, 18h08
  5. [fichier] Recuperer tous les bit un à un
    Par hutchuck dans le forum C++
    Réponses: 1
    Dernier message: 18/03/2005, 16h05

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