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

WinDev Discussion :

WebService et connexion SQL Server


Sujet :

WinDev

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut WebService et connexion SQL Server
    Bonjour à tous,

    Afin de permettre à tous les logiciels avec lesquels nous sommes interfacés d'interroger les données de la base SQL Server de notre application Windev, je suis en train de développer un webservice en WD18 qui permettra de récupérer différentes informations style des stocks, des numéros de lot, ...

    Mon WebService est écrit et contient différentes collections de procédure dont une dédiée à la connexion et à la déconnexion de la base de données SQL Server. La première reçoit les paramètres de connexion : Source de données ODBC, Utilisateur, mot de passe et base par défaut).

    Ma question est la suivante : si un utilisateur lambda a besoin de plusieurs informations, est il nécessaire d'ouvrir et de fermer la connexion à la base de données lors de chaque interrogation ou est il possible de procéder de la sorte par le biais d'un appel à des procédures différentes pour chacune des étapes :

    1 - Ouverture connexion
    2 - Interrogation stock Article A
    3 - Interrogation stock Article B
    4 - Lecture des lots de l'article A
    5 - Déconnexion

    ou bien dois je procéder de la sorte :

    1 - Ouverture connexion, Interrogation stock Article A, Déconnexion
    2 - Ouverture connexion, Interrogation stock Article B, Déconnexion
    3 - Ouverture connexion, Lecture des lots de l'Article A, Déconnexion

    J'ai effectué différents tests portant sur la première méthode mais cela ne fonctionne pas. Entre l'appel de mes deux fonctions qui font la connexion à la base de données et celle qui interroge le stock dans ma base ma connexion est perdue.

    J'ai tenté d'utiliser la fonction DeclareContexteWebService afin de définir mon environnement pour sauvegarder l'id de ma connexion mais lors des appels suivants l'id de ma connexion stockée dans une variable globale du projet n'est pas restaurée.

    Je m'oriente donc la seconde méthode qui consiste à me connecter avant chaque lecture et à me déconnecter après chaque lecture. Donc à chaque appel d'une fonction de mon webservice cela ferait :

    1 - Connexion
    2 - Lecture des données
    3 - Déconnexion

    Si vous avez des avis sur la question ou si vous avez déjà été confronté à ce souci, n'hésitez pas à m'indiquer comment vous avez fait.

    Alex

  2. #2
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    Quand il est invoqué, un webservice
    Ouvre la connexion, fait le traitement, répond et ferme le connexion

    Maintenant si tu envois un xml avec les 3 questions
    - Interrogation stock Article A
    - Interrogation stock Article B
    - Lecture des lots de l'article A

    Le webservice peut faire pour chacune le traitement approprié et construire le xml en retour contenant les 3 réponses

    Sinon il faut faire comme tu dis
    1 - Ouverture connexion, Interrogation stock Article A, Déconnexion
    2 - Ouverture connexion, Interrogation stock Article B, Déconnexion
    3 - Ouverture connexion, Lecture des lots de l'Article A, Déconnexion

    Pour info on a des webservices qui sont invoquées en permanence (~200/minute) toute la journée avec des connexions/déconnexions à chaque fois et on n'a jamais eu de problème...
    Bon dev
    Laurent

    - C’est génial.
    - Non c’est bizarre.
    - Justement quand c’est simple y’a des milliers de réponses et quand c’est bizarre y’en a aucune.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci Laurent pour ta réponse dont je me doutais un peu.

    J'ai eu l'espace d'un instant le doux espoir que ce soit comme lors d'une connexion à une dll mais non cela n'a rien à voir.

    Maintenant que je sais comment cela fonctionne je vais pouvoir avancer rapidement.

    Encore merci de ta réponse rapide et bonne soirée.

    Alex

Discussions similaires

  1. Gestion des connexions à SQL Server 2005 dans un Webservice
    Par pete666 dans le forum Services Web
    Réponses: 3
    Dernier message: 10/09/2009, 08h43
  2. [DEBUTANT] Connexion à SQL Server
    Par jesus144 dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/03/2005, 12h38
  3. [C#] Problème de connexion sql server 2000
    Par rabbiwan dans le forum ASP.NET
    Réponses: 8
    Dernier message: 22/12/2004, 16h21
  4. Connexion à SQL Server avec ASP
    Par ayobo dans le forum ASP
    Réponses: 3
    Dernier message: 25/05/2004, 17h06
  5. Connexion SQL Server
    Par Bart51 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 06/05/2004, 10h49

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