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

MFC Discussion :

Visual C++ et Postgresql ?


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    liv
    liv est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 124
    Par défaut
    Salut à toi,

    Voilà...j'ai suivi ta méthode avec grand succès. Merci à toi. J'arrive à lire, écrire dans ma base de données.
    Maintenant je voulais savoir si il était possible d'attaquer une base via Internet ou via un réseau local...en gros, la même chose mais sans que le serveur de données soit localhost.

    Tu peux m'orienter un peu please ?

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 150
    Par défaut
    Ben c'est pareil sauf qu'il faut reconfigurer dans les sources ODBC ta base et dire ou elle se trouve. Si non faut passer par des lib proprio.

    Si c'est du MySQL il y a libmysql.lib si non je sais pas cela depends.

    Mais le mieux c'est encore de configurer sur ton poste. (Sauf si tu fais un soft que tu voudrais distribuer)

  3. #3
    liv
    liv est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 124
    Par défaut
    Salut à toi !

    J'ai une question pour toi...j'ai essayé d'intégrer mes objets de connexions de base de données contenus dans DataBase.h et DataBase.cpp dans un nouveau type de projet...mais je rencontre des problèmes.

    La première fois je l'ai intégré dans un projet MFC.
    Maintenant...pas de MFC et bien évidemment...flop total. C'est un programme de type affichage sous DOS...très basique.

    En fait...j'ai remarqué que la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bool Database::Open(char* UserName, char* Pwd,char* CnnStr)
    me renvoyait toujours une erreur.

    Je suis allé dedans et j'ai remarqué la chose suivante :

    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
    bool Database::Open(char* UserName, char* Pwd,char* CnnStr)
    {
    	//cnn->Open(strCnn,"sa","sa",NULL);
    	HRESULT hr;
    	try
    	{		
    		hr = m_Cnn.CreateInstance( __uuidof( ADODB::Connection ) );
    		m_Cnn->Open(CnnStr, UserName, Pwd, NULL);
    	}
     
    	CATCHERROR(m_Cnn,0)
     
    	sprintf(m_ErrStr,"Success");
    	return 1;
    }
    La variable hr dans la section TRY me renvoie CoInitialize n'a pas été appelé au lieu de S_OK.
    Est-ce que tu voies le problème ? Il y a certainement des choses à entrer dans la config du projet Visual mais je suis un peu largué.

  4. #4
    Membre chevronné
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Par défaut
    Avant un accès à ADO il faut appeler

    et à la afin

    De plus si tu travail en multithread, il faut utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ::CoInitializeEx(NULL,COINIT_MULTITHREADED)
    et là il faut inclure dans ton .h :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #define _WIN32_DCOM
    #include "objbase.h"

  5. #5
    Membre chevronné
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Par défaut
    en gros :

    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
    bool Database::Open(char* UserName, char* Pwd,char* CnnStr)
    {
      ::CoInitialize();
       //cnn->Open(strCnn,"sa","sa",NULL);
       HRESULT hr;
       try
       {      
          hr = m_Cnn.CreateInstance( __uuidof( ADODB::Connection ) );
          m_Cnn->Open(CnnStr, UserName, Pwd, NULL);
       }
     
       CATCHERROR(m_Cnn,0)
     
       sprintf(m_ErrStr,"Success");
      ::CoUninitialize();
       return 1;
    }

  6. #6
    liv
    liv est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 124
    Par défaut
    Tu me sauves la vie ! Ca fonctionne beaucoup mieux comme cela.

    Mais à quoi sert exactement Coinitialize() ?

  7. #7
    Membre chevronné
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Par défaut
    En gros, car je suis pas spécialiste, ADO (ActiveX Data Object) et un composant COM et il spécifier au serveur COM que tu va utiliser un composant pour qu'il puisse le manager...

  8. #8
    liv
    liv est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 124
    Par défaut
    Ok...c'est l'initialisation de l'objet COM en gros...en tous cas merci de ton aide !

  9. #9
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 150
    Par défaut
    Si c'est pas moi, c'est Mataaazzzz

  10. #10
    liv
    liv est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 124
    Par défaut
    Je vois ça ! Vous êtes plusieurs dans ta tête ?

  11. #11
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 150
    Par défaut
    Non mais j'ai des doutes sur Matazz, regardes son avatar, c'est lui quand il ne trouve pas la solution sur MSDN..

Discussions similaires

  1. npgsql :entre postgresql et visual studio
    Par hellalaboy dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 28/11/2011, 11h03
  2. extension postgresql avec visual c++ express 2008
    Par wildcat82 dans le forum Extensions
    Réponses: 0
    Dernier message: 08/02/2011, 20h02
  3. visual web developer et ole-db pour postgresql
    Par mapmip dans le forum Visual Studio
    Réponses: 0
    Dernier message: 26/04/2010, 11h04
  4. Réponses: 10
    Dernier message: 07/06/2007, 09h49

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