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 :

Appel Procédure/fonction stockée MySQL en VBScript


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 18
    Par défaut Appel Procédure/fonction stockée MySQL en VBScript
    Bonjour,

    Je souhaite exécuter une fonction stockée en VBScript et pouvoir récupérer le résultat.

    Voici ma fonction Stockée :
    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
    CREATE DEFINER=`root`@`%` FUNCTION `psFindTypeFlux`(`p_PartenaireCFT` VARCHAR(50) CHARSET utf8,
    `p_IdentifiantCFT` VARCHAR(50) CHARSET utf8) RETURNS int(11)
        COMMENT 'Recherche du type de flux'
    BEGIN
    	DECLARE idTypeFlux INTEGER DEFAULT NULL;
        DECLARE codeRetour TINYINT DEFAULT 0;
        DECLARE cft VARCHAR(100);
        DECLARE chaine VARCHAR(100);
     
    	' Recherche du type de flux par rapport au partenaire CFT
        SELECT CONCAT("%",p_PartenaireCFT,"%") INTO chaine;
     
        SELECT typeflux_id INTO idTypeFlux FROM tbl_sto_Typeflux WHERE typeflux_prefix LIKE chaine LIMIT 1;
     
        IF idTypeFlux IS NULL THEN
    		-- Recherche du type de flux par rapport à l'identifiant CFT
        	SELECT typeflux_id INTO idTypeFlux FROM tbl_sto_Typeflux WHERE typeflux_prefix LIKE '%TRIM(p_IdentifiantCFT)%' LIMIT 1;
    	END IF;
     
     
        IF idTypeFlux IS NULL THEN
            SET cft=TRIM(p_PartenaireCFT) & TRIM("_") & TRIM(p_IdentifiantCFT);
    		-- Recherche du type de flux par rapport au 2 paramètres
        	SELECT typeflux_id INTO idTypeFlux FROM tbl_sto_Typeflux WHERE typeflux_prefix LIKE '%cft%' LIMIT 1;
    	END IF;
     
        return idTypeFlux;
    END
    Je l'ai testé avec Debugger for MySQL, le résultat est bon.

    Voilà ce que j'ai tenté en VBScript :

    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
    Set cnxBaseDD = CreateObject("ADODB.Connection")
    Set Rs        = CreateObject("ADODB.RecordSet")
     
    ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=smbapro08;DATABASE=bdd_dev_production;USER=root;PASSWORD=burtech;OPTION=3"
     
    cnxBaseDD.Open ConnectionString
     
    if err.number <> 0 then 
    	 wscript.echo "Erreur connexion SQL : " & err.Description
    	 WScript.Quit(8)
    Else
     
    	 Req = "BEGIN " & vbCrLf & "set @Res=psFindTypeFlux('ISANT','TOTO');SELECT @Res;" & vbCrLf & "END"
    	 WScript.echo "Procedure stockee : " & Req 
    	 Rs.Open Req,cnxBaseDD
     
    	 If Rs.eof=False Then
    	 	WScript.echo Rs(0)
    	 Else
    	 	Wscript.echo "KO"
    	 End If
    End if
    J'ai un message d'erreur qui me dit que j'ai une erreur de syntaxe ligne 2 au niveau de la commande Rs.Open Req,cnxBaseDD

    Quelqu'un a t-il déjà utilisé les fonctions stockées en VBScript ?

    Merci d'avance.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 18
    Par défaut
    Réponse :
    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
    Req = "set @Res=psFindTypeFlux('ISANT','TOTO');"
     
            Set objCmd = CreateObject("ADODB.Command") 
    	objCmd.ActiveConnection = cnxBaseDD                                                                     
            objCmd.CommandType = 1
            objCmd.CommandText = Req
            objCmd.Execute 
     
            req="SELECT @Res;"
            objCmd.CommandText = req
     
            Set Rs = objCmd.Execute
     
            If Not Rs.EOF  Then
            	WScript.echo Rs(0)
            End If
    Copyright (C) Microsoft Corporation 1996-2001. Tous droits réservés.

    30

    ***** script completed - exit code: 0 *****

    Merci quand même.

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

Discussions similaires

  1. Appel d'une fonction stockée MySQL depuis un module VB.Net
    Par mddkkr dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 22/09/2013, 17h12
  2. Appel fonctions stockées // Mysql
    Par __fabrice dans le forum Zend_Db
    Réponses: 4
    Dernier message: 11/10/2012, 09h55
  3. Procédures/Fonctions stockées MySQL 5 et fichiers
    Par magicbisous-nours dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 15/11/2011, 11h23

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