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

C Discussion :

Probleme ODBC MySQL et C


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 42
    Par défaut Probleme ODBC MySQL et C
    Bonjour,

    J'ai un soucis avec ODBC et MySQL. En effet je débute avec cette API et j'arrive bien a écrire mon code sans problème ( enfin du moins je pense ). Cependant après avoir réussi la compilation mon programme se lance fait l allocation de la variable d environnement et du handle mais n'arrive pas à se connecter à mon serveur MySQL.

    Quel est exactement la configuration qu'il faut faire pour arriver à se connecter ?

    Cordialement.

    Voila le code ( copie d'un code existant pour comprendre comment ca marche ):

    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
     
     
    //code complet
     
    #include <windows.h>
     
    #include <sql.h>
    #include <sqlext.h>
    #include <sqltypes.h>
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
     
    // Les defines
     
    #define EXPORT_FILE "./test.txt"
     
    // Les types SQL
    SQLHENV henv;
    SQLHDBC hdbc;
    SQLHSTMT hstmt;
     
    int main()
    {
    // Déclaration des variables SQL
    SQLRETURN retcode;
    SQLINTEGER cbville, cbnom, cbprenom;
    SQLCHAR szville[81],sznom[81],szprenom[81];
     
    // Déclaration des variables Standart
    char requete[1024+1]="SELECT * FROM test WHERE ID =1 ";
    char Serveur[81]="MySQL";
    char Login[81]="root";
    char Pwd[81]="";
     
     
    SQLCHAR dsn[15] = "essais" ;
     
    SQLCHAR uid[15] = "" ;
    SQLCHAR pwd[15] = "" ;
     
    FILE *fp = NULL;
     
    // 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);
    printf("SQLAllocHandle Succesful 1 \n");
     
    }
     
    if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
    {
    retcode=SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
    printf("SQLSetEnvAttr Succesful 2 \n");
    }
     
    else
    printf("Erreur sur l'instruction SQLAllocHandle !\n\n\n");
     
     
     
    // Vérification du Lien ODBC, Login Et Pwd
    if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
    retcode=SQLConnect(henv, dsn, SQL_NTS, uid, SQL_NTS, pwd, SQL_NTS);
    else
    printf("Erreur sur l'instruction SQLSetEnvAttr !\n");
     
    // Foireux a partir de ce moment là 
     
    if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
    retcode=SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
    else
    printf("Erreur sur l'instruction SQLConnect !\n");
     
    // Execution de la requete
    if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
    retcode=SQLExecDirect(hstmt, (SQLWCHAR*)requete, SQL_NTS);
    else
    printf("Erreur sur l'instruction SQLAllocHandle !\n");
     
    if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
    {
    // Récupération des informations contenu dans les champs des tables
    SQLBindCol(hstmt, 1, SQL_C_CHAR, szville,80, &cbville);
    SQLBindCol(hstmt, 2, SQL_C_CHAR, sznom, 80, &cbnom);
    SQLBindCol(hstmt, 3, SQL_C_CHAR, szprenom, 80, &cbprenom);
     
    }
    else
    printf("Erreur sur l'instruction SQLExecDirect !\n\n");
     
    // Déconnexion
    SQLFreeStmt(hstmt, SQL_DROP);
    SQLDisconnect(hdbc);
    SQLFreeConnect(hdbc);
     
    system("PAUSE");
     
    return 0;
    }

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Sauf erreur de ma part, SQLConnect() devrait utiliser un hdbc et non un henv.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

Discussions similaires

  1. [AC-2007] Probleme ODBC Access - Mysql
    Par bibigonzales31 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 19/04/2012, 16h07
  2. Problème ODBC & MySQL
    Par Caprichosa dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 25/04/2006, 12h23
  3. Probleme api mysql
    Par ThomasC dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 06/09/2004, 16h00
  4. Connection avec MS Query (Excel) via ODBC MySQL
    Par javigle dans le forum Installation
    Réponses: 7
    Dernier message: 23/11/2003, 21h03
  5. Probleme avec Mysql
    Par kevinss dans le forum Administration
    Réponses: 5
    Dernier message: 31/10/2003, 10h43

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