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 :

Un comportement atypique sur un Record Set


Sujet :

VBScript

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 22
    Points : 17
    Points
    17
    Par défaut Un comportement atypique sur un Record Set
    Bonjour,
    je réalise des tests sur plusieurs serveurs (W2000 - SP3) et constate que sur un serveur (1 sur 30) la méthode movenext d'un recordset n'a pas le comportement escompté.
    En effet, j'effectue une recherche de donnée (SGBD = sql server 2000) que je stocke ds un recordset et tant que je n'ai pas fini de balayer ce RecordSet j'insere ds une table la val. à inserer (récupérée du RS). Je fais un movenext sur ce recordset pour récupérer la nouvelle valeur à inserer.

    J'ai rajouté des traces (suite à une boucle infini remontée pour un serveur) = > Record count, CursorLocation, et la donnée à inserer avant et après le movenext.
    Et en effet, les logs sur un des serveur font apparaitrent- le non fonctionement du movenext !! le cusorlocation reste à 2 et la valeur tjs la mm.

    Cela signifierait-il que l'envir. win ne soit pas à jour (ps nous avons déjà fait tourner des vbs sur le serveur qui pose "pb"). y' a t'il un patch à installer?, peut-on mettre en place un vbs qui nous permettrait de controler des infos (param win, version de dll, ..) indispensables au bon fonctionnement de ttes les méthodes vbs ?

    Merci d'avance pour votre aide.
    Ci-dessous le code en question
    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
    if MaRechercheOK then 
    
    	While not monRecordSet.eof 
    		
    		If not InsertDonnees(ValeurAinserer) then
    			EcritureAnomalie("Non insertion de ma donnee")
    		end if	
    		monRecordSet.MoveNext
    		ValeurAinserer = monRecordSet("ValeurAinserer")
    		
    		ofilelog.writeLine now & "--Cas xxx ma val. a inserer est :   " & ValeurAinserer
    		
    	Wend
    
    end if

  2. #2
    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 : 42
    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
    Je dirais qu'il y a trop peu d'information, ou trop d'information incompréhensible, pour que l'on puisse te dire pourquoi cela bug.

    peut-on mettre en place un vbs qui nous permettrait de controler des infos (param win, version de dll, ..) indispensables au bon fonctionnement de ttes les méthodes vbs ?
    Je te renvois ici, où tu auras toutes les infos pour utiliser l'API windows WMI qui devrait te permettre de faire ce genre de VBS.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    Le soucis c'est que le movenext pour un recordset ne fonctionne pas sur 1 serveur. Le recordcount nous indique qu'il y a plus de 100 enreg. mais lors de l'éxécution le movenext reste sur le 2ième enreg. Les traces nous indique que ce comportement ne se produit que sur ce serveur sur lequel des scripts vb ont été éxécutés sans pb.
    Y'a t'il des composants (version,..) nécessaires, comment récupérer la liste des dll (éventuellement) utiles au bon fonctionnement de vbs?

  4. #4
    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 : 42
    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
    Non

    mais je ne peut pas te dire grand chose si tu ne nous dit pas quelle est la différence de config entre ton serveur qui ne marche pas et les autres.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    tous les serveurs ont en commun une application basée sur sql serveur 2000 (SP identiques) mm OS. Nous déployons nos outils (pour l'essentiel des vbs) sur tous les serveurs. Ce qui est étonnant c'est ce comportement des méthodes d'un recordset , y 'a t'il des méthodes qui ont besoin d'une version précise de wscript.exe ?
    En dehors de la page que tu m'as donnée (en anglais) y'a t'il d'autres infos relatives à ce sujet en francais (plus pratique pour comprendre parfaitement les problématiqeus et infos énnoncés)
    merci encore

  6. #6
    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 : 42
    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
    Il n'y a pas de doc sur WMI en français à ma connaissance.
    Je pense que ton problème viens d'une configuration particulière sur ton serveur.
    Peut être une règle de sécurité quelque part qui va poser un problème et de façon détourné va provoquer ton bug.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  7. #7
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 22
    Points : 17
    Points
    17
    Par défaut Fonctionnement atypique d'un movenext
    bonjour,

    La config du serveur posantv est la suivante :
    Le serveur est sous Windows NT 4.00.1381.
    La version de wscript est 5.1.0.46.15
    La version SQL2000 est 8.00.760 (SP3).
    La différence avec les autres est l'OS en effet il n'y a pas de pbs avec des serveurs tournant sous win 2000 5.00.2195 SP3.
    ESt-ce que cela peut avoir une influence sur le sur des composants wscript?
    merci

  8. #8
    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 : 42
    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
    Entre NT4 et Windows 2000 il y a des différences au niveau du fonctionnement des objets de l'API WMI.
    Alors je ne sais pas ce que tu utilises pour ton recordset, du WMI ou d'autres API, mais si c'est le premier cas alors regarde dans cette doc si l'objet que tu utilises est disponible pour NT4.

    Toujours en anglais désole .
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  9. #9
    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 : 42
    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
    Je viens de trouver l'option pack.
    Il faut peut être que tu l'installes pour que cela fonctionne. Sur la page il est décrit ce que t'installera l'option pack.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  10. #10
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    Merci pour ta contribution et pour les infos... c'est la dernière solution que je vais préconiser en dehors d'un upgrade du serveur de NT4 vers Win 2000, l'ultime mais la plus appropriée depuis janvier 2005 !!

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

Discussions similaires

  1. question sur les listes/set/vector
    Par deubelte dans le forum SL & STL
    Réponses: 11
    Dernier message: 04/01/2007, 20h41
  2. question sur les listes/set/vector
    Par deubelte dans le forum SL & STL
    Réponses: 16
    Dernier message: 28/12/2006, 20h17
  3. Test sur des records
    Par Tchaill39 dans le forum Delphi
    Réponses: 3
    Dernier message: 18/09/2006, 15h51
  4. [VB6] ne reconnait pas Record set
    Par Husqvarna dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 31/05/2006, 20h29
  5. Réponses: 1
    Dernier message: 22/04/2006, 19h02

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