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 :

BCB2007 - Connexion MySQL


Sujet :

C++Builder

  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Par défaut BCB2007 - Connexion MySQL
    Bonjour,

    Je suis toujours débutant BCB2007 . Voilà, j'ai besoin de me connecter à une base de données et j'ai vu qu'il y'avait le composant TSQLConnection. J'ai paramétré les champs, ce qui donne :

    DriverName=MySQL
    HostName=http://db11.1and1.fr
    Database=db21804184
    User_Name=dbo218041842
    Password=B3D7zKmu
    BlobSize=-1
    ErrorResourceFile=
    LocaleCode=0000
    Compressed=False
    Encrypted=False
    Lorsque je me connecte en positionnant la propriété "connected" à "true", j'obtient le message d'erreur suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cannot load dbxmys30.dll (126)
    Ce fichier existe dans le répertoire :
    C:\Program Files\CodeGear\RAD Studio\5.0\bin
    Comment résoudre ce problème ?

  2. #2
    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
    Salut, est-ce que tu as essayé de mettre la DLL dans le même dossier que l'exécutable que tu as compilé, par exemple "Debug" et/ou "Release".

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Par défaut
    Merci de ta réponse, mais je n'ai pas réussi à résoudre le problème en copiant la dll dans mon répertoire d'exécution.

    Je précise que l'appli se lance bien, mais je peux pas me connecter à la base (toujours le même problème lorsque je position l'attribut "connected" à true.

  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
    J'ai fais une petite recherche sur et j'ai trouvé sur le site http://qc.borland.com/wc/qcmain.aspx?d=43671:
    Okay, after three days of installing, uninstalling and re-installing without success, I found the problem. It seems that either BDS or MySQL screws with Window's enviroment variables. To fix this, right click on My Computer goto properties -> advanced -> environment variables. In the System Variables look for the PATH check that %SystemRoot%\System32 is added. Mine was not there, only the path for Delphi 2007.
    J'espère que sa peut t'aider.

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Par défaut
    Ok, j'ai réussi grâce à ton aide à ne plus avoir se message d'erreur.
    Je pense que le problème était bien le chemin système. Mais malgré l'ajout depuis le poste de travail du chemin, je n'ai pas eu d'amélioration. Pour le résoudre, j'ai copié le fichier dbxmys30.dll ainsi que libmySQL.dll (après avoir téléchargé mysql.zip depuis le site www.mysql.com) dans le répertoire system32.

    Cependant j'ai toujours un problème concernant la connexion. Comment indiquer un hostname sur un serveur distant ? Ma base de données est sur le fournisseur d'accès 1and1 et le nom du serveur de ma bdd est db1127.1and1.fr et lorsque je me connecte avec tous les paramétres fourni par mon fournisseur j'ai le message d'erreur "unknow MySQL server host db1127.1and1.fr (11004)"

    J'ai pensé indiquer l'adresse IP du serveur, mais je ne sais pas comment la récupérer (j'ai testé des services de type "dns lookup")

    Pouvez-vous m'indiquez quels sont les paramétres attendus concernant le hostame ?

    (Je suis un peu perdu, je passe de la BCB6 à 2007)

  6. #6
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Par défaut
    Autre souci lorsque je sur le hostname 127.0.0.1 :

    J'ajoute un composant DBGrid + SQLConnection + DataSource + SQLTable. La connexion à la bd se passe bien.

    - Lorsque je tente de connecter le DBGrid au DataSource, j'ai le message d'erreur suivant : "Opération non autorisée sur un ensemble de données unidirectionnel". Ce problème n'apparait pas sur un TDBText.

    - Lorsque j'exécute mon application, j'ai un message d'erreur suite à une exception qui est déclenché : "Le projet Project1 a déclenché la classe d'exception TDBXError avec le message :"You have a error in your SQL syntax; check the manuals that corresponds to your MySQL server version for the right syntax to use "te" à line 1
    Exception déclenchée à $7C81EB33. Classe d'exception TDBXError avec message 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''te'' at line 1'. Processus Project1.exe (772)
    Déchargement de module : dbxmys30.dll. Processus Project1.exe (772)

  7. #7
    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 whitespirit Voir le message
    Cependant j'ai toujours un problème concernant la connexion. Comment indiquer un hostname sur un serveur distant ? Ma base de données est sur le fournisseur d'accès 1and1 et le nom du serveur de ma bdd est db1127.1and1.fr et lorsque je me connecte avec tous les paramétres fourni par mon fournisseur j'ai le message d'erreur "unknow MySQL server host db1127.1and1.fr (11004)"

    J'ai pensé indiquer l'adresse IP du serveur, mais je ne sais pas comment la récupérer (j'ai testé des services de type "dns lookup")

    Pouvez-vous m'indiquez quels sont les paramétres attendus concernant le hostame ?

    (Je suis un peu perdu, je passe de la BCB6 à 2007)
    Dès fois, il arrive que les connexions à une base de données ne sont accepter qu'avec localhost comme "host name", donc les connexions extérieures sont interdites. Je ne sais pas si c'est le cas de ton hébergeur?

    Normalement le "host name" peut être un adresse IP ou un nom de serveur.

  8. #8
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Par défaut
    Ok, je vais faire des tests demain sur des hostnames différents de mon hébergeur 1and1.

    Concernant ce problème peut-être que vous pouvez m'aider à comprendre :
    J'ajoute un composant DBGrid + SQLConnection + DataSource + SQLTable. La connexion à la bd se passe bien.

    - Lorsque je tente de connecter le DBGrid au DataSource, j'ai le message d'erreur suivant : "Opération non autorisée sur un ensemble de données unidirectionnel". Ce problème n'apparait pas sur un TDBText.

    - Lorsque j'exécute mon application, j'ai un message d'erreur suite à une exception qui est déclenché : "Le projet Project1 a déclenché la classe d'exception TDBXError avec le message :"You have a error in your SQL syntax; check the manuals that corresponds to your MySQL server version for the right syntax to use "te" à line 1
    Citation:
    Exception déclenchée à $7C81EB33. Classe d'exception TDBXError avec message 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''te'' at line 1'. Processus Project1.exe (772)
    Déchargement de module : dbxmys30.dll. Processus Project1.exe (772)

  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
    Malheureusement, pour cela je ne peut pas t'aider. Je n'ai jamais utilisé TSQLConnection, j'ai toujours préféré l'API de MySQL.

  10. #10
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Par défaut
    Je veux bien utiliser l'API de MySQL, au contraire. Mais je souhaiterai relier les TTable ou TQuery, TDataSource et tous les composants relatifs à la bd à ma base.

    Tu peux m'expliquer comment tu le fais ?

    J'ai suivi le tutorial nommé "Utilisation de l'API mySQL avec Borland C++ Builder" sous BCB6 mais j'ai vraiment besoin de relier ces composants aux TTable....

    Merci.

  11. #11
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Par défaut
    Sous BCB2007 quel est le moyen le plus simple pour se connecter à une base de type MySQL et pouvoir acceder aux tables grâces aux composants prévus pour (Table, Query et composants d'accès aux données) ??

    J'ai une version d'évaluation de 2007, du coup je n'ai pas de doc pour prendre en main l'interface, excusez moi de poser des questions basiques, malgré l'aide en ligne et mon ami google, je ne m'en sors pas.

  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
    Citation Envoyé par whitespirit Voir le message
    J'ai suivi le tutorial nommé "Utilisation de l'API mySQL avec Borland C++ Builder" sous BCB6 mais j'ai vraiment besoin de relier ces composants aux TTable....
    Salut, l'API ne gère aucun composant du style TTable, donc si pour toi c'est important, tu va devoir utiliser une autre technique.

    En passant, si tu as besoin des driver ODBC de MySQL:
    http://dev.mysql.com/downloads/conne...5.1.html#win32

  13. #13
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Par défaut
    Merci je vais tester.

    Par contre, si vous n'utilisez pas les composants Table, Query, etc. vous n'utilisez donc pas les composants d'accès aux bases de données (DBGrid, etc...)?

    Si c'est le cas, comment faites-vous ?

    Merci

  14. #14
    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 whitespirit Voir le message
    Par contre, si vous n'utilisez pas les composants Table, Query, etc. vous n'utilisez donc pas les composants d'accès aux bases de données (DBGrid, etc...)?

    Si c'est le cas, comment faites-vous ?
    J'utilise une listview

  15. #15
    Membre éclairé Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Par défaut
    salut, j'ai une petite question suite à ça ... je vois que MySQL fournit ODBC pour linux, mais je croyais qu'ODBC était un mecanisme propiétaire de Microsoft ??

  16. #16
    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 ac/dc Voir le message
    salut, j'ai une petite question suite à ça ... je vois que MySQL fournit ODBC pour linux, mais je croyais qu'ODBC était un mecanisme propiétaire de Microsoft ??
    Je pensais la même chose que toi. J'ai jamais réfléchi au autres téléchargements disponibles. Voici ce que j'ai trouvé sur http://fr.wikipedia.org/wiki/ODBC:
    Le gestionnaire ODBC est présent de nombreuses plates-formes, notamment des plates-formes Windows et de type UNIX.

  17. #17
    Membre éclairé Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Par défaut
    Ah ouai c'est bizzard ... j'aimerais bien savoir depuis quand odbc est distribué sous UNIX parceque mon rapport de projet (juin de cette année) serais faux alors . J'avais mis dans la description d'ODBC : "Le seul reproche est qu'il s'agit d'une technologie propriétaire de Microsoft donc non utilisable sur UNIX par exemple."

  18. #18
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Par défaut
    J'ai installé le programme Windows pour avoir une connexion MySQL via ODBC . Pourtant dans mes composants de connection ODBC (sous BCB2007), le protocole MySQL n'apparait pas.

    Dans le doute, j'ai copier toutes les includes et lib de mysql en bourrin dans mon programme test, mais ça ne marche toujours pas .

    Avez vous une solution svp ?

  19. #19
    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
    Quand je met un TDatabase dans la section "driver name" de l'éditeur je vois MySQL ODBC 5.1 Driver. Une fois le driver ODBC installé!

Discussions similaires

  1. [JSP] erreur lors d'une connexion à mySQL
    Par Jovial dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 31/08/2004, 16h48
  2. Erreur connexion mysql
    Par bodbod dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/07/2004, 09h28
  3. Connexion mysql
    Par olive.m dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 18/06/2004, 17h44
  4. [Connexion MySQL] Can't connect to MySQL server
    Par mat_dum dans le forum Outils
    Réponses: 12
    Dernier message: 17/07/2003, 07h49
  5. [Kylix] [cgi] pb déploiement appli avec connexion MySQL [rés
    Par Nepomiachty Olivier dans le forum EDI
    Réponses: 3
    Dernier message: 06/08/2002, 20h09

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