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

VBScript Discussion :

Besoin de VB pour Script sur SSIS 2k5


Sujet :

VBScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 53
    Par défaut Besoin de VB pour Script sur SSIS 2k5
    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

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 53
    Par défaut Besoin de VB pour Script sur SSIS 2k5 : La revanche des sites
    Bonjour,

    Je viens de trouver une nouvelle piste à force de chercher sur différents sites.

    J'ai trouvé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    chaine = "bonjour tout le monde"
    mot_cherche = "tout"
     
    if instr(1, chaine, mot_cherche) > 0 then
       wscript.echo "mot trouvé dans la chaîne"
    end if
    Ca ressemble à ce que je voudrais faire dans mon VB.Script.
    _ chaine c'est dans mon cas le contenu total ou partiel de ma ligne
    _ mot_cherche ce serait mon mot-clé "computer" ou "datasource"

    Ensuite à la place de wscript.echo, il faut que j'exécute certainement un autre instr() pour récupérer ce qui suit, c'est-à-dire la valeur du serveur ou de la datasource.

    Je pense que je ne suis pas loin du résultat.
    Comment faire pour qu'à la place de "bonjour tout le monde", chaine fasse référence à la ligne courante de mon fichier plat extrait en entrée de SSIS (est-ce un genre de Me.qqchose comme dans ACCESS ?) ?

    Ensuite, je dois indexer mes lignes pour lire mon fichier plat de A à Z jusqu'à fin_de_fichier, ça se programme comment en VB ?

    Merci et bonne année 2010

  3. #3
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    beaucoup de questions ..


    pour lire un fichier ligne à ligne voir la première méthode ici :
    Comment lire le contenu d'un fichier texte ?


    au début de ton code tu déclare une variable stLigne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim stLigne 'Ligne courante
    et tu remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wscript.echo f.ReadLine
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    stLigne = f.ReadLine
    tu as donc le contenu de la ligne en cours dans la variable stLigne .. à toi d'y appliquer les traitements désirés...

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

Discussions similaires

  1. hello "besoin d'aide pour diagramme sur excel"
    Par katwar dans le forum Excel
    Réponses: 1
    Dernier message: 18/06/2007, 11h52
  2. Besoin d'aide pour script en shell pour un novice
    Par king_neo2001 dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 01/06/2007, 16h18
  3. [mIRC] besoin d'aide pour scripting
    Par emile13 dans le forum IRC / mIRC
    Réponses: 5
    Dernier message: 03/03/2007, 00h05
  4. besoin d'aide pour script DOS
    Par isaglada dans le forum Windows
    Réponses: 4
    Dernier message: 15/02/2007, 11h07
  5. Besoin d'aide pour requête sur grosse table
    Par Fabouney dans le forum Langage SQL
    Réponses: 3
    Dernier message: 25/01/2006, 09h01

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