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

MySQL Discussion :

établir une connexion à Mysql


Sujet :

MySQL

  1. #1
    Débutant
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Points : 35
    Points
    35
    Par défaut établir une connexion à Mysql
    Salut,

    - Je voudrais établir dans mon programme C une connexion à une base de données crée sous Mysql(j'ai instalé EasyPHP-1.7-setup). Sachant que mon programme C est sous Visual Studio 2008.

    - La vesion de mysql est 4.0.15.
    - J'ai trouvé seulement le dossier bin sous:
    C:\Program Files\EasyPHP 1.7\mysql\bin
    pas de dossiers lib et include .

    - Quelles sont les étapes à suivre pour établir cette connexion pour que je puisse traiter des requêtes de sélection et de Mise à jour ?

    - y-a-il un bon exemple de test pour vérifier ces étapes ?

    Je serais très contente pour toute solution.


    Je voudrais connecter à une base de données Mysql via ODBC à partir
    d'un programme C sous Visual Studio 2008 Windows.
    le nom de DSN est : pays_dsn
    le nom d'utilisateur : root
    le mot de passe est vide

    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
     
    #include <conio.h>
    #include <stdio.h>
    #include <windows.h>
    #include <sql.h>
    #include <sqlext.h>
    #include <sqltypes.h>
     
    int main()
    {
        SQLHENV env;
     
        if ( !SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_ENV, NULL, &env)) )
            fprintf(stderr, "La fonction SQLAllocHandle a echoue
    (SQL_HANDLE_ENV).\n");
        else
        {
            if ( !SQL_SUCCEEDED(SQLSetEnvAttr(env, SQL_ATTR_ODBC_VERSION,
    (void *)SQL_OV_ODBC3, 0)) )
                fprintf(stderr, "La fonction SQLSetEnvAttr a echoue.\n");
            else
            {
                SQLHDBC con;
     
                if ( !SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_DBC, env,
    &con)) )
                   fprintf(stderr, "La fonction SQLAllocHandle a echoue
    (SQL_HANDLE_DBC).\n");
                else
                {
                    SQLCHAR dsn[] = "pays_dsn", uid[] = "root", pwd[] =
    "";
     
                   if ( !SQL_SUCCEEDED(SQLConnect(con, dsn, SQL_NTS, uid,
    SQL_NTS, pwd, SQL_NTS)) )
                                            // if ( !SQL_SUCCEEDED(SQLConnect(con,(SQLCHAR *)"pays_dsn",
    SQL_NTS,(SQLCHAR *)"root", SQL_NTS,(SQLCHAR *)"", SQL_NTS)) )
                        fprintf(stderr, "La fonction SQLConnect a echoue.
    \n");
                    else
                    {
                        SQLHSTMT stmt;
     
                        if ( !SQL_SUCCEEDED(SQLAllocHandle
    (SQL_HANDLE_STMT, con, &stmt)) )
                            fprintf(stderr, "La fonction SQLAllocHandle a
    echoue (SQL_HANDLE_STMT).\n");
                        else
                        {
                            if ( !SQL_SUCCEEDED(SQLExecDirect(stmt,
    "SELECT * FROM pays_tbl;", SQL_NTS)) )
                                fprintf(stderr, "La fonction SQLExecDirect
    a echoue.\n");
                            else
                            {
                                SQLCHAR pays[15], capitale[15];
     
                                printf("PAYS > CAPITALE\n\n");
     
                                while (SQL_SUCCEEDED(SQLFetch(stmt)))
                                {
                                    SQLGetData(stmt, 1, SQL_C_CHAR, pays,
    sizeof(pays), NULL);
                                    SQLGetData(stmt, 2, SQL_C_CHAR,
    capitale, sizeof(capitale), NULL);
                                    printf("%-14s %-14s\n", pays,
    capitale);
                                }
                            }
     
                            SQLFreeHandle(SQL_HANDLE_STMT, stmt);
                        }
     
                        SQLDisconnect(con);
                    }
     
                    SQLFreeHandle(SQL_HANDLE_DBC, con);
                }
            }
     
            SQLFreeHandle(SQL_HANDLE_ENV, env);
        }
        getch();
        return 0;
     
    }
    Après la compilation et l'exécution j'aurais ce message:

    La fonction SQLConnect a echoue

    J'ai pris cet exemple de lien suivant:
    http://melem.developpez.com/langagec/odbc/

    Comment ce problème de connexion va être résolue?
    Avez-vous un exemple de test pour tester ma connexion et traiter quelques requetes ?

    SVP, j'ai besoin de vos aides.

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 741
    Points
    11 741
    Par défaut
    Pour une connexion ODBC, il faut que tu aies installé MyODBC (franchement plus stable dans l'ancienne version 3.51) : http://dev.mysql.com/downloads/connector/

    Sur la même page, tu trouveras également un connecteur C.
    Antoun
    Expert Tableau, Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  3. #3
    Débutant
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Points : 35
    Points
    35
    Par défaut
    Salut,

    J'ai trouvé dans le lien suivant un connecteur C :
    http://dev.mysql.com/downloads/connector/c/6.0.html

    Je développe mon programme C sous Visual Studio 2008 windows.

    J'ai trouvé deux versions du connecteur C :
    - Windows MSI Installer (x86)
    - Windows x64 downloads

    - Comment je vais savoir ma version de Windows sachant que j'ai Windows XP version 2002 service pack 2 ?

    - comment savoir les fonctions de connection et de requêtes utilisées par le connecteur C ?

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 741
    Points
    11 741
    Par défaut
    Citation Envoyé par vivaviva Voir le message
    - Comment je vais savoir ma version de Windows sachant que j'ai Windows XP version 2002 service pack 2 ?
    Les versions x64 sont destinées à des machines en 64 bits, càd à des gros serveurs. Si c'est ton PC, tu peux considérer que c'est un 32 bit, donc une version x86.

    Citation Envoyé par vivaviva Voir le message
    - comment savoir les fonctions de connection et de requêtes utilisées par le connecteur C ?
    par exemple, en consultant la doc MySQL ?
    http://dev.mysql.com/doc/refman/5.0/en/connector-c.html
    Antoun
    Expert Tableau, Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

Discussions similaires

  1. Realiser une connexion mysql et execute une requete
    Par Taz_8626 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/05/2006, 10h52
  2. Réponses: 3
    Dernier message: 28/12/2005, 10h47
  3. Comment établir une connexion internet ?
    Par sigmar_avenger dans le forum Réseau/Web
    Réponses: 3
    Dernier message: 01/09/2005, 13h23
  4. [JSP] erreur lors d'une connexion à mySQL
    Par Jovial dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 31/08/2004, 16h48
  5. Je ne peux établir une connexion cliente sous Linux.
    Par Anonymous dans le forum CORBA
    Réponses: 5
    Dernier message: 16/04/2002, 15h57

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