Bonsoir,

Je viens faire un tour sur cette page car j'avoue être un peu paumé après avoir cherché dans les tutoriels et autres docs sur VB.

Je construis un datawarehouse avec SSIS 2k5 à partir de fichiers plats, je suis en train de bloquer sur un problème qui à mon avis nécessite un Script VB dont je ne suis pas un spécialiste, loin de là !

Je cherche à récupérer le serveur et la datasource sur ce type d'enregistrement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
09-29-09 00:31:47 INFO broker.operation - Java server "http://sgsi2ksifwbp4/exploit-mag-abrasifs/" contacted about server start on computer SGSI2KSIFAPP3 for datasource 07-V9-EXPLOIT-MAG-ABRASIFS.
09-29-09 00:32:25 INFO broker.operation - Server started on computer SGSI2KSIFAPP7 for datasource "16-V9-EXPLOIT-MAG-SGBDUK".
Les lignes d'enregistrements comme les données dans ces lignes ne sont pas de même longueur (comme la datasource par exemple)

Je sais qu'il existe des fonctions de recherche de chaîne de caractères (pour chercher "computer" ou "server" ou "datasource" et récupérer les valeurs) mais je ne sais pas les utiliser.

Et surtout comment incrémenter pour passer à la ligne suivante vu que
_ je ne connais pas le nombre de caractères dans chaque ligne
_ je ne connais pas le nombre exact de lignes (des milliers dans le fichier réel)

Faut-il que je commence ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
Dim indice ligne, indice caractère…As Integer 
Dim Ligne_Broker  as String	'Ligne en cours à examiner	‘
 
N=250 'dans le cas optimiste où il n’y aurait pas plus de 250 caractères dans la ligne.
 
Dim T(N) As String 'élément de 0 à 250
 
For i=0 To N-1
'...
'là je ne sais plus quoi faire exactement CHERCHER la chaîne et RAMENER la valeur
'...
Next i
'faut-il passer par ce genre de boucle infernale ?


Si quelqu'un a une idée à me proposer je lui souhaite d'avance un très JOYEUX NOEL