OVH Cloud OVH Cloud

DTS - Modification de fichier texte

2 réponses
Avatar
Gafish
Bonjour,

Lors d'un enchaînement de DTS, je finis par sortir à partir d'une table un
fichier texte en utilisant un séparateur par colonne. Pas de problème.
Dans ma table source, nombre de colonne en fin de table ne sont pas
renseignées, ce qui fait que je me trouve en fin de ligne de mon fichier
texte avec une suite de séparateur sans données entre et après.
J'aimerai donc maintenant une fois le fichier texte crée le retoucher pour
supprimer en fin de ligne les séparateurs qui se trouvent en fin de ligne.
Exemple d'une ligne :
info1+info2+info3+info4+++++++
Je voudrai ici supprimer les + en fin de ligne.

Comment puis-je faire ??

Merci beaucoup d'avance

Arnaud

2 réponses

Avatar
Laurent Moreau
Ta question sort un peu du cadre de ce newsgroup car, tu as copié tes
données dans un fichier texte, et ensuite tu veux faire un traitement sur le
fichier texte pour éliminer les + en fin de ligne.


Tu peux faire un petit programme (en VB par exemple) qui, pour chaque ligne
du fichier texte, élimine les + en fin de ligne)



Sinon, Je vois tout de meme une solution pour le faire en TSQL:
Tu es obligé de préparer les lignes avant l'export, puis de faire un
traitement dessus, dans une table.

Donc:
1) créer la table a exporter:
SELECT
COALESCE(champ1,'') + '+'
+ champ2 + '+'
+ CONVERT(Varchar(50),champ3) + '+'
+ .....
AS LaLigne
INTO TableAExporter
FROM LaTable
WHERE ....

OU

Tu fais ton export dans le fichie texte
Puis tu fais un import de ton fichier texte vers une table: TableAExporter
ayant le champ LaLigne


2) Eliminer les + en fin de ligne:
WHILE EXISTS (SELECT * FROM TableAExporter WHERE RIGHT(LaLigne,1)='+')
BEGIN
UPDATE TableAExporter SET LaLigne=LEFT(Laligne,LEN(LaLigne)-1) WHERE
RIGHT(LaLigne,1)='+')
END

3) Exporter TableAExporter en fichier Texte

4) Supprimer TableAExporter




Laurent.






"Gafish" wrote in message
news:
Bonjour,

Lors d'un enchaînement de DTS, je finis par sortir à partir d'une table un
fichier texte en utilisant un séparateur par colonne. Pas de problème.
Dans ma table source, nombre de colonne en fin de table ne sont pas
renseignées, ce qui fait que je me trouve en fin de ligne de mon fichier
texte avec une suite de séparateur sans données entre et après.
J'aimerai donc maintenant une fois le fichier texte crée le retoucher pour
supprimer en fin de ligne les séparateurs qui se trouvent en fin de ligne.
Exemple d'une ligne :
info1+info2+info3+info4+++++++
Je voudrai ici supprimer les + en fin de ligne.

Comment puis-je faire ??

Merci beaucoup d'avance

Arnaud




Avatar
Gafish
Ok !
Je te remercie Laurent pour la réponse. Cela me laisse même le choix de la
solution. Je vais réflechir à tout cela et essayer.
Merci encore !

Arnaud

"Laurent Moreau" a écrit dans le message de
news:bot05u$upt$
Ta question sort un peu du cadre de ce newsgroup car, tu as copié tes
données dans un fichier texte, et ensuite tu veux faire un traitement sur


le
fichier texte pour éliminer les + en fin de ligne.


Tu peux faire un petit programme (en VB par exemple) qui, pour chaque


ligne
du fichier texte, élimine les + en fin de ligne)



Sinon, Je vois tout de meme une solution pour le faire en TSQL:
Tu es obligé de préparer les lignes avant l'export, puis de faire un
traitement dessus, dans une table.

Donc:
1) créer la table a exporter:
SELECT
COALESCE(champ1,'') + '+'
+ champ2 + '+'
+ CONVERT(Varchar(50),champ3) + '+'
+ .....
AS LaLigne
INTO TableAExporter
FROM LaTable
WHERE ....

OU

Tu fais ton export dans le fichie texte
Puis tu fais un import de ton fichier texte vers une table: TableAExporter
ayant le champ LaLigne


2) Eliminer les + en fin de ligne:
WHILE EXISTS (SELECT * FROM TableAExporter WHERE RIGHT(LaLigne,1)='+')
BEGIN
UPDATE TableAExporter SET LaLigne=LEFT(Laligne,LEN(LaLigne)-1) WHERE
RIGHT(LaLigne,1)='+')
END

3) Exporter TableAExporter en fichier Texte

4) Supprimer TableAExporter




Laurent.






"Gafish" wrote in message
news:
> Bonjour,
>
> Lors d'un enchaînement de DTS, je finis par sortir à partir d'une table


un
> fichier texte en utilisant un séparateur par colonne. Pas de problème.
> Dans ma table source, nombre de colonne en fin de table ne sont pas
> renseignées, ce qui fait que je me trouve en fin de ligne de mon fichier
> texte avec une suite de séparateur sans données entre et après.
> J'aimerai donc maintenant une fois le fichier texte crée le retoucher


pour
> supprimer en fin de ligne les séparateurs qui se trouvent en fin de


ligne.
> Exemple d'une ligne :
> info1+info2+info3+info4+++++++
> Je voudrai ici supprimer les + en fin de ligne.
>
> Comment puis-je faire ??
>
> Merci beaucoup d'avance
>
> Arnaud
>
>