Probleme de connexion odbc

Signaler
Messages postés
145
Date d'inscription
mercredi 12 avril 2006
Statut
Membre
Dernière intervention
11 mars 2010
-
Messages postés
145
Date d'inscription
mercredi 12 avril 2006
Statut
Membre
Dernière intervention
11 mars 2010
-
salut tout le monde voila j'ai recupéré un code de connnexion odbc sur
cppfrance mais le probleme c'est que je n'arrive pas a me connecter a
ma base de donnée mysql (erreur lorsque je fais SQLCONNECT)

je poste mon code si vous pouviez m'aider je vous serais reconnaissant

merci d'avance.

#pragma comment(lib, "odbc32.lib")


// Les types SQL

SQLHENV henv;

SQLHDBC hdbc;

SQLHSTMT hstmt;

 

void connec(HWND hWnd )

{

    // Déclaration des variables SQL

    SQLRETURN retcode;

    SQLINTEGER cblogin, cbmotdepass;

    SQLCHAR szlogin[MAIN_LEN+1],szmotdepass[MAIN_LEN+1];

     

    // Déclaration des variables Standart

    // Exemple de requete

    char requete[1024+1]="select * from joueur";

  

    char Serveur[MAIN_LEN]="192.168.23.214";

    char Login[MAIN_LEN+1]="fenix";

    char Pwd[MAIN_LEN+1]="fenix";   

    FILE *fp;

                 

    // Connexion à la base de données

    retcode=SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);

             

    if(retcode SQL_SUCCESS || retcode SQL_SUCCESS_WITH_INFO)

    retcode=SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3,0);

                 

    if(retcode SQL_SUCCESS || retcode SQL_SUCCESS_WITH_INFO)

    retcode=SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);

    else

    MessageBox(hWnd,"Erreur sur l'instruction SQLAllocHandle !","Erreur",MB_OK);

     

    // Vérification du Lien ODBC, Login Et Pwd       

    if(retcode SQL_SUCCESS || retcode SQL_SUCCESS_WITH_INFO)

    retcode=SQLConnect(hdbc, (SQLCHAR*)Serveur, SQL_NTS, (SQLCHAR*)Login, SQL_NTS, (SQLCHAR*)Pwd, SQL_NTS);

    else

    MessageBox(hWnd,"Erreur sur l'instruction SQLSetEnvAttr !","Erreur",MB_OK);

                     

    if(retcode SQL_SUCCESS || retcode SQL_SUCCESS_WITH_INFO)

    retcode=SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);

    else

    MessageBox(hWnd,"Erreur sur l'instruction SQLConnect !","Erreur", MB_OK);

    DisplayLastError(hWnd);

                 

    // Execution de la requete

    if(retcode SQL_SUCCESS || retcode SQL_SUCCESS_WITH_INFO)

    retcode=SQLExecDirect(hstmt, (SQLCHAR*)requete, SQL_NTS);

    else

    MessageBox(hWnd,"Erreur sur l'instruction SQLAllocHandle2 !","Erreur",MB_OK);

  

3 réponses

Messages postés
145
Date d'inscription
mercredi 12 avril 2006
Statut
Membre
Dernière intervention
11 mars 2010

j'ai oublié de le signaler,  je pense que l'erreur a lieu a cause
d'un probleme de drivermais je sais pas du tt comment sa marche
Messages postés
199
Date d'inscription
lundi 22 juillet 2002
Statut
Membre
Dernière intervention
14 juin 2006

Slt,

As tu le client Mysql d'installé ? et si oui as tu créé le lien nommé "192.168.23.214" ?

Petit complément sur la source, ce code ne permet pas de se connecter directement a un serveur de base de donnée (que se soit mysql, oracle, sqlserver et les autres ... ), il passe par le gestionnaire odbc de ton système d'exploitation. Il faut pour cela avoir les drivers mysql (dans ton cas) et ensuite configurer le lien odbc (sous xp voir dans le panneau de configuration, outils d'administration ) ...

Bon courage,

[8D] [:p]

Trinita,

(Nous savons tous lire, alors passons un peu de temps sur les documentations. Pensons aux personnes qui les rédigent [:D] [;)] )
Messages postés
145
Date d'inscription
mercredi 12 avril 2006
Statut
Membre
Dernière intervention
11 mars 2010

j'ai configurer le lien odbc dans sources de données odbc (panneau de
configuration) car je fais le test sa fonctionne. et non je n'ai pas de
lien nommé 192.168.23.214 c'est l'adresse ip de mon serveur. je
voudrais savoir qu'entends tu par serveur mysql ???


Sinon sais tu comment faire pour se connecter directement a un serveur
mysql car ensuite l'application que je developpe sera utilisé sur
plusieurs pc et je ne voudrais par devoir configurer a chaque fois le
lien odbc ni installé le client mysql