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 :

Problème d'exécution requête SQL en VBS


Sujet :

VBScript

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

    Informations forums :
    Inscription : Mars 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Problème d'exécution requête SQL en VBS
    Bonjour à tous,

    Je viens solliciter votre aide car je galère depuis quelques jours sur un script VBS.
    En effet, j'ai script VBS qui exécute un fichier .SQL. Mon script VBS est le suivant :


    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
    'récupération de la requete dans le fichier requete
    dim filesys, text, readfile, PosteDistant 
    set filesys = CreateObject("Scripting.FileSystemObject") 
    set readfile = filesys.OpenTextFile(".\scriptsSQL\requete.sql", 1, false) 
    strSQL = readfile.ReadAll
    Dim myStream, myConnection, myCommand, adoRec, servername _
    ,  databasename, user, password, mystring, laststamp, maxage
     
    Set myStream = CreateObject("ADODB.Stream")
    Set myConnection = CreateObject("ADODB.Connection")
    Set myCommand = CreateObject("ADODB.Command")
     
     
     
    myConnection.Open "Driver={SQL Server};Server=D043FAVREJ\sqlexpress;Database=AGILSTORE;Uid=dom\user;Pwd=password;Trusted_Connection=yes"
     
    set myCommand.ActiveConnection=myConnection
     
     
    myCommand.CommandText=strSQL
    myCommand.Execute()

    Mon fichier requete.sql contient la requête suivante :


    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    use master
    declare @nomuser varchar(20)
    declare @nomdb varchar(20)
    declare @pwduser varchar(20)
     
    /* NOM DE LA BASE DE DONNEES */
    SET @nomdb='AGILStore'  
    PRINT 'CREATION DE LA LISTE DES UTILISATEURS AGIL'
    /* AJOUT des utilisateurs à supprimer */
    CREATE TABLE #useragil ( usernameagil varchar(20),pwdnameagil varchar(20)) 
    insert #useragil(usernameagil,pwdnameagil) values ('agilstore','user1')
    insert #useragil(usernameagil,pwdnameagil) values ('agilpos','user2')
     
    /***********************/
    /* CREATION DES LOGINS */
    /***********************/
    PRINT ''
    PRINT '************************************************'
    PRINT 'CREATION DES LOGINS'
    PRINT ''
    DECLARE createuser_cursor CURSOR
    FOR SELECT usernameagil,pwdnameagil FROM #useragil
     
    OPEN createuser_cursor FETCH 
    NEXT FROM createuser_cursor into @nomuser,@pwduser
     
    WHILE @@FETCH_STATUS = 0
    BEGIN
    PRINT '************************************************'
    PRINT '** CREATION DE L UTILISATEUR  : ' + @nomuser
      exec ('CREATE LOGIN ' + @nomuser +' WITH PASSWORD =  ''' + @pwduser + ''',DEFAULT_LANGUAGE=French, CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF;')  
    PRINT ''
    PRINT '- Affectation de la base de donnees par defaut'
      exec ('ALTER LOGIN ' + @nomuser +' WITH DEFAULT_DATABASE = ' + @nomdb + ';')
    PRINT  '- CREATION du user de base de donnees'
      EXEC ('USE ' + @nomdb + ';CREATE USER ' + @nomuser + ' FOR LOGIN ' + @nomuser + ';')
    PRINT '- Affectation du schema par default'
      EXEC ('USE ' + @nomdb + ';ALTER USER ' + @nomuser + ' WITH DEFAULT_SCHEMA = dbo;') 
    PRINT  '- AJOUT du role sur la base de donnees'
      EXEC ('USE ' + @nomdb + '; EXEC sp_addrolemember ''db_owner'', '''  + @nomuser + ''';')
    PRINT '************************************************'
    FETCH NEXT FROM createuser_cursor INTO @nomuser,@pwduser
    END
     
    CLOSE createuser_cursor
    DEALLOCATE createuser_cursor
    GO
    DROP TABLE #useragil

    Mon problème est le suivant. Lorsque j'exécute mon script SQL depuis la console SQL Epress, celui-ci se déroule correctement. Cependant, quand je le l'exécute depuis mon script VBS, j'ai un message d'erreur "Syntaxe incorrecte ver 'createuser_cursor" code 80040E14.

    Si quelqu'un a une idée sur mon problème ?

    Je vous remercie tous par avance.

  2. #2
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Je propose d'enlever la déclaration GO (l'avant dernière ligne) : elle n'est pas une valable tsql déclaration. Essayez-le.

Discussions similaires

  1. Problème exécution requête SQL avec HSQLDB
    Par montis dans le forum JDBC
    Réponses: 1
    Dernier message: 23/03/2012, 09h37
  2. Problème de lenteur requête SQL exécutée dans une page ASP
    Par Philippe Robert dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 20/01/2009, 17h38
  3. Réponses: 2
    Dernier message: 04/04/2006, 11h46
  4. [VB]Problème avec une requête SQL
    Par Tyrael62 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 18/03/2006, 17h47
  5. Problème pour bâtir requête SQL
    Par Val2005 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 02/11/2005, 15h49

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