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 :

[WD 5.5 & 14] Date sql suite à une migration


Sujet :

WinDev

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 9
    Points : 5
    Points
    5
    Par défaut [WD 5.5 & 14] Date sql suite à une migration
    Bonjour,

    Suite à la migration d'un logiciel de la version 5.5 à 14, il semble que le format renvoyer par les fonctions SQL (SQLExec, SQLLitcol , etc ) n'est plus au format yyyy-mm-dd mais au format yyyymmdd.

    Nous utilisons une base de données Sybase connecté grâce au driver ODBC, ou les dates sont bien stockées au format yyyy-mm-dd.

    Après de nombreuses recherches infructueuses sur la toile, et une réponse en suspend auprès du service Hotline de Pc-Soft, je me remets à l'imposante communauté de Developpez.com pour débloquer la situation.

    Sachant qu'il va être difficile pour nous de toucher/modifier à la multitude de lignes présentent dans notre application ( Comme par exemple, reformater par le code le résultat de la requête au format yyyy-mm-dd), auriez vous une solution à nous proposer ?

    Bien cordialement.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Un "filtre" aux entrées/sorties pour mettre la date au bon format ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Qu'entends tu par "Filtre" ?

    Si c'est ce que je penses, cela sera difficile à mettre en place, notre programme contient trop de requêtes pour mettre en place un formatage de la date par le code.

    Dans l'aide de Windev 14, il est "sommairement" dit que le changement au niveau du format de la date retourné par les fonctions SQL a changé depuis la version 5.5 b.

    Il est impensable que personne n'a jamais eu ce problème de migration. J'ai chercher en vain dans les options de Windev 14, mais rien ...

    D'autre suggestions ?

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Citation Envoyé par Lag_guine Voir le message
    Qu'entends tu par "Filtre" ?

    Si c'est ce que je penses, cela sera difficile à mettre en place, notre programme contient trop de requêtes pour mettre en place un formatage de la date par le code.
    C'est bien ça, une fonction à appeler

    Citation Envoyé par Lag_guine Voir le message
    Il est impensable que personne n'a jamais eu ce problème de migration.
    Entre 5.5 et 14 ?
    Ça me semble pourtant logique vu le nombre de versions intermédiaires

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Je vous propose quelques screens pour étayer mes propos

    Requête et resultat 5.5



    Requête et resultat 14



    Type des colonnes des tables en 5.5



    Type des colonnes des tables en 14




    Comme vous pouvez le voir, WinDev 14 se trompe complètement au niveau de la reconnaissance des types des colonnes de notre base de données, d'où nos problèmes qui n'avait pas lieu en 5.5.

    J'ai envoyé un mail au support technique de PCSoft avec ces screens.

    Dans l'attente d'une réponse de PCSoft, si quelqu'un a un début d'idée ou de réponse, nous sommes preneur.

    Bien cordialement.

  6. #6
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Pas de réponses viables via pcsoft pour le moment

    Assistance directe qui ne tient pas ses engagement et ne nous rappel pas ...

    Mise en place d'une "filtre" sur SQLLitCol >> NotreSQLLitCol (Remplacement des 8500 SQLLitCol par NotreSQLLitCol)

    je vous donne le code pour ceux que ça intéresse :

    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
     
    // Résumé : <Procédure de check sur les dates retournées par SQLLitCol aaaammjj au lieu de aaaa-mm-jj avec server Sybase ASA 6.0>
    // Syntaxe :
    //[ <Résultat> = ] NotreSQLLitCol (<nom_requete>, <num_champ>)
    //
    // Paramètres :
    // 	nom_requete : <Nom de la requete SQLExec>
    // 	num_champ : <Numero de collone>
    // Valeur de retour :
    // 	chaîne : Date traffiqué// 	Aucune
    PROCEDURE NotreSQLLitCol(nom_requete,num_champ)
     
     
    sRes_test est une chaîne=""
    nAnnee_test est un entier=0
    nMois_test est un entier=0
    nJour_test est un entier=0
    res_date est une chaîne=""
     
    sRes_test=SQLLitCol(nom_requete,num_champ)
    IF (Taille(sRes_test)) <> 8  THEN
    	RENVOYER sRes_test
    ELSE
    	IF (IsNumeric(sRes_test))=Faux THEN
    		RENVOYER sRes_test
    	ELSE
    		nAnnee_test=Val(Gauche(sRes_test,4))
    		nMois_test=Val(Milieu(sRes_test,5,2))
    		nJour_test=Val(Droite(sRes_test,2))
    		IF ((nAnnee_test<1970) OR (nAnnee_test>2199)) THEN
    			RENVOYER sRes_test
    		ELSE
    			IF ((nMois_test<1) OR (nMois_test>12)) THEN
    				RENVOYER sRes_test
    			ELSE
    				IF ((nJour_test<1) OR (nJour_test>31)) THEN
    					RENVOYER sRes_test
    				ELSE
    					res_date=Gauche(sRes_test,4)+"-"+Milieu(sRes_test,5,2)+"-"+Droite(sRes_test,2)
    					RENVOYER res_date
    				END
    			END
    		END
    	END
    END
    C'est sommaire pour le moment, et nous pouvons rencontrer des problèmes pour certain numérique à 8 caractères/ Nous testerons ça en débogue en attendant que pcsoft daigne à nous fournir une réponse concrette.

    Je ne passe pas le sujet en résolu pour le moment

    Merci pour les réponses en tout cas

  7. #7
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Voici enfin la solution de PCSoft:


    Par défaut en connexion ODBC avec SQLConnecte, les dates sur 10 caractères au format AAAA-MM-JJ sont effectivement transformées au format AAAAMMJJ afin d'être compatibles avec les fonctions de gestion de date du W-Langage.

    Toutefois il existe un possibilité pour que la date ne soit pas modifiée. Pour cela il faut créer un fichier "WDODBINS.INI" dans le répertoire de Windows, avec dedans un contenu de ce type :
    [<NomSource>]
    OLDDATEFORMAT=O
    où <NomSource> est le nom de la source (1ier paramètre de SQLConnecte)

    Cela peut se faire par programmation avant la connection :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SI INILit(sNomSourceODBC,"OLDDATEFORMAT","N","WDODBINS.INI")="N" ALORS
            SI PAS INIEcrit(sNomSourceODBC,"OLDDATEFORMAT","O","WDODBINS.INI") ALORS
                    Erreur("Impossible de mettre à jour le fichier de paramétrage des formats de date ODBC",ErreurInfo())
            FIN
    FIN
    Je savais bien que j'étais pas fou ! Non mais !

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Merci

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

Discussions similaires

  1. Souci installshield 2011 suite à une migration de PC
    Par megamario dans le forum Installation, Déploiement et Sécurité
    Réponses: 2
    Dernier message: 16/08/2013, 10h10
  2. Problème suite à une migration
    Par AyManoVic dans le forum Apache
    Réponses: 1
    Dernier message: 26/07/2011, 15h46
  3. comportement des filtres suite à une migration
    Par purplebamboo dans le forum Webi
    Réponses: 9
    Dernier message: 08/06/2010, 15h02
  4. Probleme d'Autorisations NTFS suite à une migration d'AD
    Par hélios44 dans le forum Windows Serveur
    Réponses: 4
    Dernier message: 18/05/2008, 19h25
  5. Faut-il-récréer les index suite à une migration?
    Par kiki650 dans le forum Outils
    Réponses: 0
    Dernier message: 16/10/2007, 09h32

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