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++Builder Discussion :

Probl�me de connexion � base de donn�es MySQL avec C++ Builder 6


Sujet :

C++Builder

  1. #1
    Membre confirm�
    Inscrit en
    Janvier 2004
    Messages
    170
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 170
    Par d�faut Probl�me de connexion � base de donn�es MySQL avec C++ Builder 6
    Bonjour,

    J'ai de s�rieux probl�mes depuis quelques temps avec la programmation. J'en viens � me demander si j'ai oubli� comment je le faisais, si je ne sais plus lire, etc.

    Je prendrai le cas le plus simple.

    J'ai install� Borland C++ Builder Enterprise 6, EasyPHP 1.8 et MySQL-ODBC 3.5.1 sur ma machine. Je veux tout simplement acc�der � la base de donn�es par d�faut mysql cr�er lors de l'installation de EasyPHP. Ben, j'ai fait comme je le faisais avant, j'ai m�me suivi les instructions de http://www.developpez.com/delphi/faq...ermysqlavecado en vain.

    Quand je cr�e par exemple un DSN et que je teste, il n'y a pas de probl�mes, TOUT EST OK.

    Quand je retourne dans C++ Builder, que j'utilise le composant TADOConnection pour me connecter et que je teste simplement que le DSN passe depuis l'application, il dit encore que c'est OK. Mais quand, je lui indique mysql dans le champ Entrez le catalogue initial � utiliser: il me marque l'erreur suivante:

    "Echec du test de connection en raison d'une erreur survenue lors de l'initialisation du fournisseur. D�faillance irr�m�diable."



    Bon, je ne sais m�me pas d'ou setruc vient. J'ai eu des probl�mes avec mon XP Pro que j'ai r�install� mais le probl�me persiste toujours et je ne sais plus quoi faire.

    J'attends vos r�ponse car je suis bloqu� dans mon travail.

    Merci encore � vous tous!

  2. #2
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    83
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 83
    Par d�faut
    pour utiliser mysql il te faut une librairie mysql

  3. #3
    Membre confirm�
    Inscrit en
    Janvier 2004
    Messages
    170
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 170
    Par d�faut
    Qu'entends tu stp par :

    Il te faut une librairie MYSQL
    ?


    J'ai install� EasyPHP qui je suppose m'installe tout ce dont j'ai besoin.

    Peux tu �tre plus pr�cis ?

    Merci!

  4. #4
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    D�tails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par d�faut
    Citation Envoy� par flet le kid
    Qu'entends tu stp par :

    Il te faut une librairie MYSQL
    ?
    Si tu utilises l'API directement il te faut la librairie (.lib). Habituellement je pr�f�re utiliser l'API directement, c'est beaucoup plus rapide que de passer par l'ODBC. Pour plus de renseignement va voir:
    http://lfe.developpez.com/BCBmySQL

  5. #5
    Membre confirm�
    Inscrit en
    Janvier 2004
    Messages
    170
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 170
    Par d�faut
    Merci CRAYON pour ton indication. J'ai lu qu'on peut effectivement utiliser l'API directement. Mais bon, comme je ne voulais pas changer l'�quipe qui a toujours gagn� (ODBC), voil� pourquoi, je veux toujours faire avec ODBC.

    Je vais essayer avec l'API et vous faire part de l'�volution de mon travail. Merci donc pour le lien.

    Seulement, j'aimerais bien que quelqu'un m'explique pourquoi, j'ai le message d'erreur cit� au d�but de mon post. �a me parait bizarre, surtout qu'avant, je n'avais pas ce probl�me. Je sais que mon disque est actuellement abim� � certains endroits mais est ce que �a peut faire quelque chose? Je me demande bien. J'ai tout fait jusqu'� r�install� XP mais rien n'a chang�.

    Si quelqu'un peu m'expliquer ce qui m'arrive!

    Bon, je vous tiens au courant concernant l'API!

    Merci et j'attends encore d'autres interventions!

  6. #6
    Membre confirm�
    Inscrit en
    Janvier 2004
    Messages
    170
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 170
    Par d�faut
    Bonjour,
    j'ai un probl�me avec le point

    1.2. Cr�ation de la libraire d'importation


    Il faut ensuite cr�er la librairie libmySQL.lib par la commande suivante, ex�cut�e dans une console : implib libmySQL.lib libmySQL.dll
    La libraire ainsi cr��e doit �tre ajout�e au projet.

    Quand j'ex�cute cela dans l'�cran noir de Windows (Ex�cuter... -> cmd) et que je saisis: implib libmySQL.lib libmySQL.dll,j'obtiens le message suivant:

    Borland Implib Version 3.0.22 Copyright (c) 1991, 2000 Inprise Corporation
    Error : unable to open file
    .

    Comment dois je faire pour le faire correctement?


    Et puis, lorsque je vais utiliser cette m�thode (API), est ce que j'aurais besoin que MySQL soit install� sur toutes les machines sur lesquelles mon applications va tourner?

    Merci encore pour vos interventions.

  7. #7
    Membre confirm�
    Inscrit en
    Janvier 2004
    Messages
    170
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 170
    Par d�faut
    Bonsoir,
    quelqu'un pourrait il m'expliquer la m�thode concernant l'utilisation de l'API, surtout le point:

    1.2. Cr�ation de la libraire d'importation

    Il faut ensuite cr�er la librairie libmySQL.lib par la commande suivante, ex�cut�e dans une console : implib libmySQL.lib libmySQL.dll
    La libraire ainsi cr��e doit �tre ajout�e au projet.


    car je n'arrive pas � la passer.
    Merci

  8. #8
    Membre exp�riment� Avatar de Bily.sdi
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    208
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 208
    Par d�faut connexion bd mysql
    j'esper que ca pourra t'aider

    @+

    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
     
    #include <stdio.h> 
    #include <stdlib.h> 
    #include <unistd.h> 
    #include <mysql/mysql.h> 
     
     
    void requete(MYSQL *conn) 
    { 
        MYSQL_RES *result; 
        MYSQL_ROW elementsColonne; 
        unsigned int nbColonnes; 
        int i; 
     
        if (mysql_query(conn,"SELECT * FROM nom_table")) 
        { 
            printf("Erreur dans la requête\n"); 
            return; 
        } 
        else // requête bonne, traitons les données qu'elle renvoit 
        { 
            result = mysql_store_result(conn); 
            if (result != NULL) // MySQL peut extraire des résultats 
            { 
                nbColonnes = mysql_num_fields(result); 
     
                // récupère les enregistrements un par un 
                while ((elementsColonne = mysql_fetch_row(result))) 
                { 
                    for (i = 0; i < nbColonnes; i++) 
                        printf("%s\t", (elementsColonne[i] != NULL) ? elementsColonne[i] : "NULL"); 
                    printf("\n"); 
                } 
                // on libère la mémoire prise pour les résultats 
                mysql_free_result(result); 
            } 
            else 
                printf("Aucun résultat à la requête !\n"); 
        } 
    } 
     
     
    int main(int argc, char*argv[]) 
    { 
        MYSQL *conn; 
     
        // initialisation 
        if((conn = mysql_init(NULL)) == NULL) 
        { 
            printf("Erreur d'initialisation\n"); 
            return 0; 
        } 
     
        // connexion au serveur (ici, en local) 
        if(mysql_real_connect(conn,"localhost","nom_utilisateur","mot_de_passe","nom_base",0,NULL,0)==NULL) 
        { 
            printf("Erreur de connexion\n"); 
            return 0; 
        } 
     
        // on lance la requête 
        requete(conn); 
     
        // on ferme la connexion au serveur MySQL 
        mysql_close(conn); 
    }

  9. #9
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    D�tails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par d�faut
    Citation Envoy� par flet le kid
    Quand j'ex�cute cela dans l'�cran noir de Windows (Ex�cuter... -> cmd) et que je saisis: implib libmySQL.lib libmySQL.dll,j'obtiens le message suivant:

    Borland Implib Version 3.0.22 Copyright (c) 1991, 2000 Inprise Corporation
    Error : unable to open file
    .
    La raison sans doute pour laquelle sa ne fonctionne pas, c'est que le fichier n'est pas dans le chemin (path). Est-ce que tu as t�l�charg� libmySQL.dll?

  10. #10
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    7
    D�tails du profil
    Informations personnelles :
    �ge : 57

    Informations forums :
    Inscription : Mars 2003
    Messages : 7
    Par d�faut Probl�me de connexion � base de donn�es MySQL avec C++ Builder 6
    Citation Envoy� par Crayon
    La raison sans doute pour laquelle sa ne fonctionne pas, c'est que le fichier n'est pas dans le chemin (path). Est-ce que tu as t�l�charg� libmySQL.dll?
    Bonjour,

    Je confirme ce point.... mais plutot sur le fait que le PATH doit contenir le r�pertoire d'installation de mysql (celui qui contient notamment les dll)...

    J'ai rencontr� le meme probl�me, qui s'est r�solu de lui m�me en r�installant le noyau MySQL et en ajoutant l'option d'inclusion du r�pertoire d'installation dans le PATH...

    Sinon, autre solution, mettre la DLL dans le r�pertoire de ton appli, mais tu perds alors les �volutions �ventuelles de la dll en cas d'installation d'une nouvelle version MySQL...

    A toi de voir.

    Bartman.

  11. #11
    Membre confirm�
    Inscrit en
    Janvier 2004
    Messages
    170
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 170
    Par d�faut
    Citation Envoy� par Bartman
    Bonjour,

    Je confirme ce point.... mais plutot sur le fait que le PATH doit contenir le r�pertoire d'installation de mysql (celui qui contient notamment les dll)...

    J'ai rencontr� le meme probl�me, qui s'est r�solu de lui m�me en r�installant le noyau MySQL et en ajoutant l'option d'inclusion du r�pertoire d'installation dans le PATH...

    Sinon, autre solution, mettre la DLL dans le r�pertoire de ton appli, mais tu perds alors les �volutions �ventuelles de la dll en cas d'installation d'une nouvelle version MySQL...

    A toi de voir.

    Bartman.

    Vous savez, je ne suis pas un EXPERT MySQL.
    Quand, tu parles de r�installer le noyau, tu m'effraies. Comment t'y prends tu?

    D'apr�s ton intervention et celle de CRAYON, j'ai l'impression que je dois t�l�charger la librairie.
    Quand, je lis le document dont j'ai �num�r� la partie qui me cr�ee des probl�mes, ils ont parl� de :

    Il faut ensuite cr�er la librairie libmySQL.lib par la commande suivante, ex�cut�e dans une console : implib libmySQL.lib libmySQL.dll
    La libraire ainsi cr��e doit �tre ajout�e au projet.



    Le probl�me est que je ne comprends pas trop COMMENT & OU ex�cuter cette intruction.

    Comme je ne suis pas un expert, j'installe EasyPHP.Il installe en m�me temps mySQL.Et c'est avec �a que je travaille. Mais, j'ai t�l�charg� sur le site de MySQL la derni�re version. Je vais donc l'installer et essayer vos solutions. Voir un peu ce que �a va donner.

    MAis dites, vous n'avez pas un autre lien ou je peux avoir une documentation (en fran�ais svp) qui me dit comment utiliser l'API de MySQl ?

    L�, je suis au boulot et je ne peux pas pour l'instant essayer vos solutions. Mais en rentrant ce soir, je vais essayer tout �a et vous tenir inform�.


    Merci

  12. #12
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    D�tails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par d�faut
    T�l�chargement (Je te conseil "Windows downloads Without installer"):
    http://dev.mysql.com/downloads/mysql/5.0.html#downloads

    Dans le dossier lib tu va trouver la DLL et dans include les fichiers d'ent�te � inclure.
    Documentation sur l'API:
    http://dev.mysql.com/doc/refman/5.0/fr/mysql-apis.html

    D�sol� pour le retard dans la r�ponse

Discussions similaires

  1. Probl�me connexion base de donn�es MySQL avec VB.net
    Par fridrai dans le forum Administration
    R�ponses: 3
    Dernier message: 28/05/2013, 18h59
  2. R�ponses: 5
    Dernier message: 09/02/2010, 02h02
  3. Probl�me de connexion � base de donn�es MySQL
    Par Paulinho dans le forum Installation
    R�ponses: 2
    Dernier message: 03/12/2007, 17h35
  4. Probl�me de copie d'une base de donn�es MySQL avec PHP
    Par rheem dans le forum SQL Proc�dural
    R�ponses: 4
    Dernier message: 15/10/2007, 14h52
  5. R�ponses: 4
    Dernier message: 03/08/2007, 14h55

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