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 :

Requete a partir d'un fichier text


Sujet :

VBScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 49
    Points : 35
    Points
    35
    Par défaut Requete a partir d'un fichier text
    je veut developper un programme en VBS je suis debutant ;connecter a une base de donner sql serveur ,lire un fichier text qui contient les noms de tous mes table , est executer ma requete ,l'ai resussi a me connecter a la bdd mais il execuete pas la requete voila l'erreur

    Erreur de compilation Microsoft VBScript: Fin d'instruction attendue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Const adOpenStatic = 3
    Const adLockOptimistic = 3
     
    Set objConnection = CreateObject("ADODB.Connection")
    Set objRecordSet = CreateObject("ADODB.Recordset")
     
    objConnection.Open _
        "Provider=SQLOLEDB;Data Source=FRA;" & _
            "Persist Security Info=true;Initial Catalog=DB_TEST;" & _
                 "User ID=USR;Password=USR;"
     
     
     
    Dim fso  :          Set fso = CreateObject("Scripting.FileSystemObject")
    Dim ObjTextStream : Set ObjTextStream = Fso.OpenTextFile("D:\Chargement_table\commande_vbs\teste\requete.txt", 1, False)
    Dim strtmp 
    Dim  matable as String  
     
    Do While Not ObjTextStream.AtEndOfStream
    strtmp = Split(ObjTextStream.ReadAll, vbCrLf)
    For i = 0 To UBound(strtmp) 
     
        matable=strtmp(i)
        objRecordset.Open " truncate table matable " , objConnection, _
        adOpenStatic, adLockOptimistic, adCmdText
    Next
    Loop
    ObjTextStream.Close
    Set ObjTextStream = Nothing
    Set Fso = Nothing 
    objConnection.Close

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2007
    Messages : 83
    Points : 89
    Points
    89
    Par défaut euh... c'est pas Execute plutot ?
    Salut,
    Tu devrais aller jeter un coup d'oeil sur cette page : http://florian.developpez.com/asp/?page=page_6#LVI-B

    Si je ne me trompe pas, ce que tu cherche à faire, c'est executer une commande SQL et non récupérer un résultat (truncate ne "renvoit rien", c'est une commande de suppression), donc, en toute logique, il faudrait utiliser quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     objConnection.Execute("truncate table ma_table")
    Fouille dans cette direction

    Bon courage et fais signe si ça marche

    -M@rc0-
    -M@rc0-
    PS : pensez au tag Résolu

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 49
    Points : 35
    Points
    35
    Par défaut
    oui en faite je voulez recuperer le nom de ma table a partir d'un fichier texte apres j'execute la commande "truncate table nom de la table recuper" mais ca passe pas ,j'ai esseyé ta commande mais ca marche pas merci

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2007
    Messages : 83
    Points : 89
    Points
    89
    Par défaut
    Euh...
    j'avais pas vu que matable c'était une variable définie plus haut... pour utiliser une variable dans une de tes requêtes, il me semble bien que tu ne peux pas la laisser dans les guillemets comme tu le fais. Je te conseil de concaténer la valeur récupérer dans ton fichier à un string qui contient le début de ta requête. Un truc dans ce goût :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim ma_requete
    ma_requete = "truncate table " & matable & ";"
     
    objConnection.Execute(ma_requete)
    See you

    -M@rc0-
    -M@rc0-
    PS : pensez au tag Résolu

  5. #5
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    j'avais pas vu que matable c'était une variable définie plus haut... pour utiliser une variable dans une de tes requêtes, il me semble bien que tu ne peux pas la laisser dans les guillemets comme tu le fais. Je te conseil de concaténer la valeur récupérer dans ton fichier à un string qui contient le début de ta requête
    Exactement, et cela m'avait echappé aussi. D'ailleurs c'est écrit dans la FAQ VBS de ce forum ici.
    D'ailleurs, au vu de ton erreur de niveau de débutant (ce qui n'est pas péjoratif), je te conseillerais de lire la FAQ. Elle contient un bon nombre de choses très utile lorsque l'on est débutant. Et même pour les plus expérimenté en tant qu'aide mémoire.
    Hé oui plus on veillit, plus la mémoire ..... Et malheuresement, l'expérience ne viens qu'avec le temps
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

Discussions similaires

  1. ajout de données à partir d'un fichier texte
    Par drakenzara dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 14/04/2006, 12h39
  2. Réponses: 4
    Dernier message: 26/01/2006, 12h03
  3. Lancer des commandes dos à partir d'un fichier texte
    Par tpdm dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 09/08/2005, 16h56
  4. état à partir d'un fichier texte
    Par onkel dans le forum Bases de données
    Réponses: 1
    Dernier message: 21/07/2005, 10h26
  5. Réponses: 11
    Dernier message: 04/08/2003, 15h30

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