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 :

Pas de résultats sur certaine machine + problème date


Sujet :

WinDev

  1. #21
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Je dirais que le problème se produit lorsque les machines n'ont pas les mêmes paramètres. As-tu vérifier dans toutes les options régionales que les machines sont bien identiques ?

  2. #22
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 176
    Points : 91
    Points
    91
    Par défaut
    Bon bon...

    Je suis revenu sur ma situation de base.

    Des clients et un serveur en MS-sql.

    Toujours le même problème sur la majorité des machines.

    J'ai décidé de modifier le code :

    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
    //SI HExécuteRequêteSQL(VerificationGardeJour,"gcnxMaConnexion", ...
    //	hRequêteSansCorrection ,"VerificationGardeJour @PDateFiltre") ALORS
    //	HLitPremier(VerificationGardeJour)
    //	TANTQUE PAS HEnDehors(VerificationGardeJour)
    //		nCheckGarde = 1
    //		Message(CBM_Garde,VerificationGardeJour.CodePersonnel + " - " + VerificationGardeJour.Mobile )
    //		HLitSuivant(VerificationGardeJour)
    //	FIN
    //	HAnnuleDéclaration(VerificationGardeJour)
    //SINON
    //	Erreur(HErreurInfo())
    //FIN
     
    ReqClient est une Source de Données
     
    SI HExécuteRequêteSQL(ReqClient,"gcnxMaConnexion", ...
    	hRequêteSansCorrection ,"SELECT Personnel.CodePersonnel,Personnel.Mobile, Type_Personnel.CodeTypePersonnel, Garde.IDGarde, Garde.DateDebut,Garde.DateFin, Garde.IDPersonnel,Garde.SaisiLe, Garde.SaisiPar,Garde.ModifierLe,Garde.ModifierPar	FROM Garde INNER JOIN Personnel ON Personnel.IDPersonnel = Garde.IDPersonnel INNER JOIN Type_Personnel ON Personnel.IDType_Personnel = Type_Personnel.IDType_Personnel WHERE Garde.DateDebut = '20120216' ORDER BY Garde.DateDebut DESC") ALORS
    	HLitPremier(ReqClient)
    	TANTQUE PAS HEnDehors(ReqClient)
    		nCheckGarde = 1
    		Message(CBM_Garde,ReqClient.CodePersonnel + " - " + ReqClient.Mobile )
    		HLitSuivant(ReqClient)
    	FIN
    	HAnnuleDéclaration(ReqClient)
    SINON
    	Erreur(HErreurInfo())
    FIN
    Donc en gros pour cette query, je n'utilise plus la PS. J'ai juste copier le code SQL de la PS dans Windev. L'unique modification se trouver là : '20120216'. Quand je travaille de cette façon ça fonctionne sur toutes les machines.

    Néanmoins, ce n'est pas une solution vu que je dois travailler avec des PS et ne jamais avoir de code SQL directement dans l'exe.

    J'en perds mon latin...

  3. #23
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 176
    Points : 91
    Points
    91
    Par défaut
    Je dirais que le problème se produit lorsque les machines n'ont pas les mêmes paramètres. As-tu vérifier dans toutes les options régionales que les machines sont bien identiques ?
    Oui, j'ai déjà du regarder 4 ou 5 fois. Franchement, je ne vois pas de différence...

  4. #24
    Membre éprouvé Avatar de wimbish
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 416
    Points : 1 073
    Points
    1 073
    Par défaut
    Bonjour,
    Ta procédure ne fonctionne pas quand la PS attend un paramètre (qu'elle l'utilise ou non ) mais fonctionne quand elle n'en attend pas, c'est bien cela ?
    A mon avis regarde du coté du SQLServer, c'est peut être un paramétrage de sécurité pour évité les injections SQL.

  5. #25
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 176
    Points : 91
    Points
    91
    Par défaut
    Oui, c'est bien ça.

    C'est juste étrange que c'est sur des PS qui attendent une date. Ce qui me dérange le plus, c'est qu'il y a des PC où je ne recontre pas le souci.

    A la limite que rien ne passe ok mais pas deux sur cinq...

  6. #26
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 394
    Points : 9 571
    Points
    9 571
    Par défaut
    Peux-tu transfomer ton paramètre date en chaine dans l'appel de ta procédure et dans la procédure elle-même reconvertir ta chaine en date ?

    Ca n'expliquera pas pourquoi ça ne marche pas mais si ça peut fonctionner...

  7. #27
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Citation Envoyé par Raphael1980 Voir le message
    Oui, j'ai déjà du regarder 4 ou 5 fois. Franchement, je ne vois pas de différence...
    Même les langues sont identiques ? Il manquerait pas l'anglais sur celles qui ne marchent pas ?

    Dans le doute, la solution de frenchsting devrait marcher mais ça ne reste pas normal ! Tu vas devoir caster tes paramètres systématiquement lorsque ce seront des dates ...

  8. #28
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 176
    Points : 91
    Points
    91
    Par défaut
    Je crois que je vais jeter l'éponge pour aujourd'hui...

    J'ai modifié ma PS pour qu'on lui passe une string que je reconvertis en datetime. (mouais...)

    Ca fonctionne sur certain PC et sur d'autres, j'ai un message d'erreur sur HlitPremier pour quelques PC.

    Demain, je mets en place la même configuration en zone de tests. Un SQL-server et X PC.

    On verra ce que ça donne avec une autre configuration mais avec une topologie identique.

  9. #29
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 176
    Points : 91
    Points
    91
    Par défaut
    Bonne rencontre,

    Aujourd’hui, je me suis rendu à mon bureau.

    J’ai installé mon programme sur l’ensemble de notre parc qui contient du XP (FR,UK) en 32 et 64 bits ainsi que des Seven en 64bits.

    J’ai fait pointer l’application sur ma machine de développement où tourne mon server SQL de tests. Tout fonctionne parfaitement sans rencontrer les mêmes problèmes que chez le client.

    Pour confirmer le diagnostique, j’ai installé un SQL Server sur un des PC et j’ai fait pointer tous les PC vers lui. Tout ça histoire de l’isoler ma machine de développement de l’équation. L’application s’est comportée comme elle devait.

    J’en viens donc à me dire que le souci ne vient pas de l’application que j’ai développé mais bel est bien d’un truc là-bas mais quoi…. C’est une autre histoire…
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT SERVERPROPERTY('ProductLevel')
     
    SELECT @@VERSION
     
    SELECT SERVERPROPERTY('ProductVersion')
     
    SELECT CONVERT(varchar, serverproperty('collation'))
    Après ces quelques commandes, la seul différence notoire entre la version du bureau et celle du client est que le serveur MS-SQL 2008 est en SP2 chez le client. Alors qu’il est toujurs en SP1 chez nous. (Il faudra qu’on effectue la mise à jour).

    Pensez-vous qu’il y a d’autres choses à vérifier ? Je tourne clairement en rond pour le moment.

    Commencer à me dire que je vais changer toutes mes datetime en varchar pour les convertir...c'est quand surtout vu le nombre de PS que j'ai...

    Amicalement,
    Raphaël.

  10. #30
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 394
    Points : 9 571
    Points
    9 571
    Par défaut
    Et si tu passes en sp2 sur un serveur de test ?

    On se dirige quand même vers un pb sql-server, non ?

  11. #31
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 176
    Points : 91
    Points
    91
    Par défaut
    Hum j'ai l'impression.

    J'ai installé le sp2 sur ma machine et sur l'autre sql de test. Tout continue à fonctionner sans soucis.

  12. #32
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 535
    Points
    2 535
    Par défaut
    Tu pourrais peut être vérifier ce que reçoit SQL Server comme requête. Pour cela tu peux utiliser SQL Server Management studio, qui doit sûrement être installé sur le serveur.

    A partir de SSMS tu te connecte au serveur SQL et là tu vas dans le menu Outil / SQL Server Profiler.

    SQL Server Profiler permets de voir les requêtes reçus par ton serveur SQL.

    Cela te permettra de voir au moins si les différents postes envoient des requêtes identiques.

  13. #33
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Avant d'exécuter une procédure stockée, peux-tu exécuter la comande suivante :

    DBCC USEROPTIONS

    Ca va permettre de savoir quelles sont les options définies pour l'utilisateur.

    Dans un deuxième temps, essayes aussi de faire cette commande avant le lancement :

    SET ANSI_DEFAULTS ON

    et après

    SET ANSI_DEFAULTS OFF

Discussions similaires

  1. Executable ne fonctionnant pas sur certaines machines
    Par AlexisWallace dans le forum C#
    Réponses: 17
    Dernier message: 07/08/2014, 13h42
  2. [2.x] Erreur 302 sur certaines machines (et pas sur d'autres)
    Par y0ussef dans le forum Symfony
    Réponses: 4
    Dernier message: 06/07/2012, 12h12
  3. Réponses: 1
    Dernier message: 10/01/2011, 15h04
  4. [DEBUTANT]ne pas pouvoir cliquer sur certains champs d'une liste deroulante
    Par eclipse012 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 26
    Dernier message: 03/10/2006, 17h44
  5. Programme ne fonctionnant que sur certaines machines
    Par Marekh dans le forum DirectX
    Réponses: 14
    Dernier message: 30/08/2005, 15h09

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