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 :

RE : connexion groupware (postgresql)


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mars 2010
    Messages : 15
    Points : 16
    Points
    16
    Par défaut RE : connexion groupware (postgresql)
    Bonjour , tout le monde
    je suis désolée de vous déranger,J'ai besoin de votre assistance
    j'ai connecté à groupware par une code qui j'ai mettre dans "le code du projet" (les tables est crée automatiquement dans schéma public postgres) mais il y à un problème présente lorsque j'exécute mon projet ,
    cette erreur est déclenche lors j'ai clique sur bouton (historique des connexions) du l'interface de groupware

    voilà le code de connexion à groupware :

    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
    //////////////////////////////////////////////////
    sValeur est une chaîne = "localhost"
    
    // Modifie la valeur 'ADRESSE'
    INIEcrit("RESEAU", "ADRESSE", sValeur, "C:\Mes Projets\GS-hamdi\config.ini")
    
    SI ErreurDétectée ALORS
        Erreur()
    FIN
    //connexion à la base
    sAdresseip est une chaîne
    /////////////////////////////////////////////
    // je lis l'adresse reseau dans mon fichier init
    sAdresseip = INILit("RESEAU","ADRESSE", "", fRepEnCours()+"\config.ini")
    // je gere le groupeware avec .
    // cette première partie permet de génerer les tables du groupeware dans ma base de données. Il en fait également une gestion automatique.
    // gpwCx : c'est le nom que je donne à ma connexion pour les table de groupeware .
    // gpwCx : c'est pour dire : "groupeware Connection"
    SI gpwOuvreConnexion("gpwCx","postgres","sakhri",sAdresseip,"DataBaseHamdi",hAccèsNatifPostgreSQL) = Faux ALORS
        Erreur(ErreurInfo())
    SINON
    // Les fichiers du Groupware utilisateur sont automatiquement créés
    // si l'utilisateur a les droits sur postgresql.
    nRest est un entier = gpwOuvre()
    // si le login a échoué
    SI nRest <> gpwOk ALORS
        SELON nRest
            CAS gpwErreur : Erreur("Erreur à l'initialisation du groupware.", ErreurInfo())
            CAS gpwUtilisateurInconnu : Erreur("Utilisateur inconnu.")
            CAS gpwMotPasseInvalide : Erreur("Mot de passe invalide.")
        FIN
        SINON
            // cnxgres : connexion que je peut utiliser dans mon projet .,cnxgres : juste pour dire : "ma connexion à postgresql"
             SI PAS HDécritConnexion("cnxgres","postgres","sakhri",sAdresseip,"DataBaseHamdi",hAccèsNatifPostgreSQL,hOLectureEcriture) ALORS
                Info("Connexion echouée")
            SINON
                HChangeConnexion("*","cnxgres")
                HOuvre("*")
    
            FIN
        FIN
    FIN
    ///////////////////////////////////////////////////////////////////////////

    voilà erreur:

    Erreur accès natif Postgresql
    Numéro d'erreur=80
    l'erreur suivante à été renvoyée par la base de données <>:
    Numéro d'erreur=<42883>
    Message d'erreur :
    Erreur : la fonction substr( time without zone ,interger ,integer) n'existe pas at character 33
    Hint: aucune fonction correspond au nom donne et type d'argument .
    vous devez ajouter des conversions explicites de type .
    merci d’avance.
    Nom : 1.jpg
Affichages : 961
Taille : 77,7 Ko
    Nom : 2014-09-03_182630.jpg
Affichages : 1263
Taille : 108,6 Ko

  2. #2
    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
    Bonjour,

    en fait il faudrait surtout le code qu'il y a derrière le bouton puisque c'est lui qui pose problème ...

    à bientôt,

    Nicolas

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mars 2010
    Messages : 15
    Points : 16
    Points
    16
    Par défaut
    code situé derrière le bouton historique de connexion :
    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
    Ouvre("GPWHistoriqueConnexion") 
    et aussi la fenêtre GPWHistoriqueConnexion est initialise par le procédure :
    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Initialisation de la fenêtre
    PROCEDURE Initialisation()
    
    // par défaut on filtre sur le projt en cours d'exécution
    Application=ProjetInfo(piNomEXE)
    
    // si c'est un exécutable qui est lancé
    SI Application<>"" ALORS
    	sNomCourt est une chaîne=fExtraitChemin(Application,fFichier)
    	Application=sNomCourt
    	
    	// si c'est un GO sous l'éditeur
    SINON
    	Application=ProjetInfo()
    FIN
    
    // exécute le code de clic du bouton Filtre
    ExécuteTraitement(Filtre,trtClic)
    
    // exécution de la requête
    sSQL est une chaîne=[
    SELECT COUNT(*) AS NbConnexion, Left(GPWHISTORIQUECONNEXION.HeureConnexion,2) AS HeureJournee
    FROM GPWHISTORIQUECONNEXION
    WHERE GPWHISTORIQUECONNEXION.DateConnexion='%1'
    GROUP BY Left(GPWHISTORIQUECONNEXION.HeureConnexion,2)
    ORDER BY Left(GPWHISTORIQUECONNEXION.HeureConnexion,2)
    ]
    sSQL=ChaîneConstruit(sSQL,DateDuJour())
    SI PAS HExécuteRequêteSQL(gReqConnexion,sSQL) ALORS
    	Erreur(HErreurInfo())
    SINON
    	// affichage du résultat de la requête dans le graphe
    grSourceSérie(GRF_Connexion,1,grRubrique,gReqConnexion,"NbConnexion")
    	grSourceEtiquetteCatégorie(GRF_Connexion,grRubrique,gReqConnexion,"HeureJournee")
    	grDessine(GRF_Connexion)
    FIN
    

  4. #4
    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
    Bonjour,

    peux-tu essayer en mettant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sSQL=ChaîneConstruit(sSQL,dateverschaine(DateDuJour(),"AAAA-MM-JJ"))
    car il doit y avoir un problème de format à ce niveau. Il faudra peut-être voir quel est le format attendu par le serveur (AAAA-MM-JJ ou AA-MM-JJ ou MM-JJ-AAAA etc ...)

    Bon courage,

    Nicolas

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mars 2010
    Messages : 15
    Points : 16
    Points
    16
    Par défaut connexion groupware (postgresql)
    j'ai fait modifier le code comme vous dites mais rien ne c'est passe même erreur vraiment je suis bloque à cet erreur

    Nom : 2014-09-11_194328.jpg
Affichages : 839
Taille : 79,9 Ko

    et voila format de date sous postgresql

    Nom : bbbbbbbbbbbbbbbbbbbb.jpg
Affichages : 755
Taille : 99,0 Ko

  6. #6
    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
    Bonjour,

    dans les images que tu nous as postées, on voit la définition de la variable dans WinDev (sous format AAAMMJJ) mais qu'en est-il de la donnée stockée dans la base de données ?
    C'est ce format là qu'il faut connaitre car si la date est stockée sous un autre format alors il faut s'adapter à celui-ci dans la requête.

    Par exemple dans SQL Server, c'est AAAA-MM-JJ donc on fait un dateverschaine pour mettre en forme à ce niveau.

    Autre piste : il faut peut-être caster la chaine en date dans la requête.

    bon courage,

    Nicolas

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mars 2010
    Messages : 15
    Points : 16
    Points
    16
    Par défaut
    bonjour ,
    j'ai fait testé avec toutes les format des dates mais même résultat
    AAAAMMJJ
    AAAAMMJJHH
    AAAAMMJJHHMM
    AAAAMMJJHHMMSS
    AAAAMMJJHHMMSSCC
    AAAAMMJJHHMMSSLLL
    (AAAA : année, MM : mois, JJ : Jour, HH : heure, MM : minutes, SS : secondes, CC : centièmes de seconde, LLL : Millièmes de seconde)
    avez-vous comment caster une requete windev ?

  8. #8
    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
    As-tu accès à la base de données en direct ou pas ? Car là il faudrait tester la requête en direct sur la base et trouver enfin ce qu'il faut mettre ... Une fois la réponse trouvée sur la base de données, tu auras juste à transmettre sous le bon format !

  9. #9
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Bonjour
    Pour que le code SQL ne soit pas contrôlé et "corrigé" à la sauce Hyperfile il faut utiliser HExécuteRequêteSQL avec la syntaxe suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HExécuteRequêteSQL(<Source de donnée>, <Connexion>, hRequêteSansCorrection, <Texte de la requête>)
    Pour PostgreSQL j’utilise ce format pour les dates : AAAA-MM-JJ
    et pour les datetime : AAAA-MM-JJ HH:mm:SS ou AAAA-MM-JJ HH:mm:SS.CCC

    Attention les minutes c'est mm et pas MM (mois)

  10. #10
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mars 2010
    Messages : 15
    Points : 16
    Points
    16
    Par défaut connexion groupware (postgresql)
    merci pour vous Nicolas_Jeanneau ,hpascal
    pour moi j'ai décidé à éliminer cette tâche car je suis bloque

  11. #11
    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
    c'est dommage, pour moi c'est juste le format de date qu'il faut trouver !

    bon courage pour la suite

  12. #12
    Membre à l'essai Avatar de Nate_87
    Homme Profil pro
    Manager IT
    Inscrit en
    Janvier 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Manager IT
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2014
    Messages : 13
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par makramsakhri Voir le message
    Bonjour , tout le monde
    je suis désolée de vous déranger,J'ai besoin de votre assistance
    j'ai connecté à groupware par une code qui j'ai mettre dans "le code du projet" (les tables est crée automatiquement dans schéma public postgres) mais il y à un problème présente lorsque j'exécute mon projet ,
    cette erreur est déclenche lors j'ai clique sur bouton (historique des connexions) du l'interface de groupware

    voilà le code de connexion à groupware :

    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
    //////////////////////////////////////////////////
    sValeur est une chaîne = "localhost"
    
    // Modifie la valeur 'ADRESSE'
    INIEcrit("RESEAU", "ADRESSE", sValeur, "C:\Mes Projets\GS-hamdi\config.ini")
    
    SI ErreurDétectée ALORS
        Erreur()
    FIN
    //connexion à la base
    sAdresseip est une chaîne
    /////////////////////////////////////////////
    // je lis l'adresse reseau dans mon fichier init
    sAdresseip = INILit("RESEAU","ADRESSE", "", fRepEnCours()+"\config.ini")
    // je gere le groupeware avec .
    // cette première partie permet de génerer les tables du groupeware dans ma base de données. Il en fait également une gestion automatique.
    // gpwCx : c'est le nom que je donne à ma connexion pour les table de groupeware .
    // gpwCx : c'est pour dire : "groupeware Connection"
    SI gpwOuvreConnexion("gpwCx","postgres","sakhri",sAdresseip,"DataBaseHamdi",hAccèsNatifPostgreSQL) = Faux ALORS
        Erreur(ErreurInfo())
    SINON
    // Les fichiers du Groupware utilisateur sont automatiquement créés
    // si l'utilisateur a les droits sur postgresql.
    nRest est un entier = gpwOuvre()
    // si le login a échoué
    SI nRest <> gpwOk ALORS
        SELON nRest
            CAS gpwErreur : Erreur("Erreur à l'initialisation du groupware.", ErreurInfo())
            CAS gpwUtilisateurInconnu : Erreur("Utilisateur inconnu.")
            CAS gpwMotPasseInvalide : Erreur("Mot de passe invalide.")
        FIN
        SINON
            // cnxgres : connexion que je peut utiliser dans mon projet .,cnxgres : juste pour dire : "ma connexion à postgresql"
             SI PAS HDécritConnexion("cnxgres","postgres","sakhri",sAdresseip,"DataBaseHamdi",hAccèsNatifPostgreSQL,hOLectureEcriture) ALORS
                Info("Connexion echouée")
            SINON
                HChangeConnexion("*","cnxgres")
                HOuvre("*")
    
            FIN
        FIN
    FIN
    ///////////////////////////////////////////////////////////////////////////

    voilà erreur:



    merci d’avance.
    Nom : 1.jpg
Affichages : 961
Taille : 77,7 Ko
    Nom : 2014-09-03_182630.jpg
Affichages : 1263
Taille : 108,6 Ko

    Bonjour,
    J'ai essayé de reproduire votre code de connexion en l'adaptant à une base mysql mais cela ne marche pas
    Pourriez-vous m'éclairer? Y'a t'il des configurations à tenir dans le paramétrage du groupware ou pas?

Discussions similaires

  1. Connexion a postgresql
    Par snipper dans le forum SGBD
    Réponses: 0
    Dernier message: 13/11/2007, 11h04
  2. Connexion Delphi PostgreSQL
    Par kayzer844 dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/04/2006, 18h31
  3. connexion a postgresql
    Par Melvine dans le forum PostgreSQL
    Réponses: 14
    Dernier message: 11/05/2005, 09h23
  4. connexion SAS/PostgreSQL
    Par boris_ska dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 13/05/2004, 08h43

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