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 :

Connection à PostgreSQL


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Homme Profil pro
    Programmeur
    Inscrit en
    Mai 2017
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Programmeur
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2017
    Messages : 24
    Points : 13
    Points
    13
    Par défaut Connection à PostgreSQL
    Bonsoir à tous et merci de pouvoir me venir en aide. je souhaite développer une application windev 18 avec comme SGBD PostgreSQL V9.6. Apres avoir configurer postgreSQl dans mon Ordinateur et installer le driver psqlodbc_x64.msi, j'ai effectué un test en créant une BD Test avec un mot de passe admin.
    Lorsque je cherche à connecter windev à postgreSQL, j'ai en retour une erreur de type: The specified DSN contains an architecture mismatch between the driver and application
    Error number=-2147467259(0x80004005)
    SQLDriverConnect [C] [IM014]

    En fouillant sur le net je suis tombé sur certains conseils me demandant de changer de driver.
    Alors j'ai installé un autre driver puis effectué la même procédure. Cependant j'ai le même résultat.
    Bien avant cela je suis passé par une connection par programmation
    dont voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    MaConnexion est un entier
    MaSource est une chaine
    MaSource ="PostgreSQL35W"
    MaConnexion =SQLConnecte(MaSource,"postgres","admin","Test","MSDASQL")
    SI Numconnexion <> 0 ALORS
    Info("vous pouvez effectuer des nouvelles opérations")
    SINON
    	Erreur("La base de données n'est pas accessible")
     
    FIN
    SQLDéconnecte()
    Le résultat:La bd n'est pas accessible.
    Pourrais-je vraiment avoir votre aide? Merci d'avance.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 197
    Points : 12 772
    Points
    12 772
    Par défaut
    Bonjour,
    D'après le message, je dirai que tu as installé le drivers 64bits, et que tu tentes d'y accéder depuis un projet en 32 bits.

    Il faut soit passer l'application en 64 bits, soit utiliser le driver 32 bits.

    Tatayo.

  3. #3
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Pourquoi utiliser une connexion ODBC alors que l'accès natif PostgreSQL est gratuit ?

  4. #4
    Membre à l'essai
    Homme Profil pro
    Programmeur
    Inscrit en
    Mai 2017
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Programmeur
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2017
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par tatayo Voir le message
    Bonjour,
    D'après le message, je dirai que tu as installé le drivers 64bits, et que tu tentes d'y accéder depuis un projet en 32 bits.

    Il faut soit passer l'application en 64 bits, soit utiliser le driver 32 bits.

    Tatayo.
    Merci expert, je vais de suite essayé votre solution et je vous tiendrez informer.
    Bonjour expert, après avoir installer le driver 32bits le message d'erreur ne s'affiche plus. Mon souci actuel est de savoir comment m'y prendre pour inserrer par exemple un enregistrement?

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2014
    Messages : 93
    Points : 166
    Points
    166
    Par défaut
    Citation Envoyé par Asphin Voir le message
    Merci expert, je vais de suite essayé votre solution et je vous tiendrez informer.
    Bonjour expert, après avoir installer le driver 32bits le message d'erreur ne s'affiche plus. Mon souci actuel est de savoir comment m'y prendre pour inserrer par exemple un enregistrement?
    Bonjour,

    Si vous êtes en accès natif, utilisez : hAjoute() -> Nécessite l'installation de l'accès natif. Gratuit mais ne permet pas tout et a des limites

    Si vous êtes en ODBC, utilisez : SQLExec() -> Nécessite l'installation du driver et de paramétrer une DSN user ou système sur le poste. Gratuit mais à des limites)

    Si vous utilisez les fonctions de «libpq», utilisez la fonction : PQexec -> pas d'installation, il suffit d'avoir juste les binaries de PostgreSQL (32 et/ou 64 bits présent sur le poste de travail). Limite 0x08000000 octets pour un champ mémo en 32 bits. C'est pour moi le plus rapide et cela fonctionne aussi pour Webdev sur Linux

  6. #6
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut
    Bonjour,

    SQLExec fonctionne très bien en ODBC. La création de l'ODBC n'est pas compliqué et simple à mettre en place chez un client.
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Programmeur
    Inscrit en
    Mai 2017
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Programmeur
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2017
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par PhilDeDakar Voir le message
    Bonjour,

    Si vous êtes en accès natif, utilisez : hAjoute() -> Nécessite l'installation de l'accès natif. Gratuit mais ne permet pas tout et a des limites

    Si vous êtes en ODBC, utilisez : SQLExec() -> Nécessite l'installation du driver et de paramétrer une DSN user ou système sur le poste. Gratuit mais à des limites)

    Si vous utilisez les fonctions de «libpq», utilisez la fonction : PQexec -> pas d'installation, il suffit d'avoir juste les binaries de PostgreSQL (32 et/ou 64 bits présent sur le poste de travail). Limite 0x08000000 octets pour un champ mémo en 32 bits. C'est pour moi le plus rapide et cela fonctionne aussi pour Webdev sur Linux
    Merci beaucoup!Je suis en ODBC, ma connection à PostgreSQL est bonne mais mon soucis est le suivant, je suis habitué aux fonctions Hlit et autres du WLangage; Mais j'ai décidé il y'à peu de travailler avec des requêtes et de me connecter à une BD externe afin de faire un comparatif des performences.
    Merci!!!!

  8. #8
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2014
    Messages : 93
    Points : 166
    Points
    166
    Par défaut
    Citation Envoyé par philouZ Voir le message
    Bonjour,

    SQLExec fonctionne très bien en ODBC. La création de l'ODBC n'est pas compliqué et simple à mettre en place chez un client.
    oui ca fonctionne bien, mais pas pour tout. Par exemple on ne peut pas enregistrer une image de plus de 32ko (si mes souvenirs sont bons d’où mon passage avec «libpq») dans une colonne de type bytea

  9. #9
    Membre à l'essai
    Homme Profil pro
    Programmeur
    Inscrit en
    Mai 2017
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Programmeur
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2017
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par PhilDeDakar Voir le message
    oui ca fonctionne bien, mais pas pour tout. Par exemple on ne peut pas enregistrer une image de plus de 32ko (si mes souvenirs sont bons d’où mon passage avec «libpq») dans une colonne de type bytea
    Merci de l'information, Alors là tu me donnes un envie de decouvrir «libpq». De ce fait, comment pourrais je le mettre en place et y'à t'il des tuto sur cela?
    Si oui! Alors s'il te plait pourrais tu me donner l'URL? Cela m'édifiera beaucoup!!!Merci encore

  10. #10
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2014
    Messages : 93
    Points : 166
    Points
    166
    Par défaut
    Bonjour
    Tu peut utiliser comme base la classe clLibPq que tu peut télécharger à l'adresse http://depot.pcsoft.fr/resource.awp?...sql-avec-libpq. Ce n'est pas la dernière version car j'ai fait quelques modifications pour prendre en compte les spécificités de Linux comme le répertoire du fichier de Trace. Néanmoins elle constitue une bonne base pour se lancer.

Discussions similaires

  1. [Db Connection][PostgreSQL]Retrieve schema=>"no table exist"
    Par mathieu_r dans le forum Développement de jobs
    Réponses: 10
    Dernier message: 19/03/2014, 14h51
  2. [ModelSphere] probleme de connection Postgresql
    Par Pyrophore dans le forum Autres
    Réponses: 2
    Dernier message: 05/03/2012, 09h44
  3. Connection Postgresql via infoview
    Par moulery dans le forum Connectivité
    Réponses: 0
    Dernier message: 23/03/2009, 17h52
  4. Applet de confirmation à la première connection PostgreSQL
    Par Sensei.f dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 06/03/2009, 10h25
  5. erreur connection postgresql jsp
    Par tatay dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 24/06/2003, 13h50

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