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 :

Connexion à une base de données MySql


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 62
    Par défaut Connexion à une base de données MySql
    Bonjour,

    Je souhaite connecter mon programme c++ (dans Visual Studio Express 2012 pour Windows Desktop) à ma base de donnée MySql accessible sur un environnement virtuel dans VirtualBox (Apache-Php-MySql) via ce code source :

    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
    #include<stdlib.h>
    #include<iostream>
    #include<mysql_driver.h>
    #include<mysql_connection.h>
     
    int main() {
    sql::mysql::MySQL_Driver *driver;
    sql::Connection *conn;
    try {
    	driver = sql::mysql::get_mysql_driver_instance();
    	conn = driver->connect("tcp://192.168.1.100:3306","root","1234");
    	//// La connexion est  ́etablie => on peut soumettre des requ^etes `a la BD// ....// .... requ^etes .....// lib ́erer la connexion
    	delete conn;
    }
    catch(sql::SQLException &e) {
    std::cerr  <<"# ERR: SQLException  in "<< __FILE__;
    std::cerr  <<"("<< __FUNCTION__  <<") on line "<< __LINE__  << std::endl;
    std::cerr  <<"# ERR: "<< e.what ();
    std::cerr  <<" (MySQL  error  code: "<< e.getErrorCode ();
    std::cerr  <<", SQLState: "<< e.getSQLState () <<" )"<< std::endl;
    }
    return 0;
    }
    mais en compilant, Visual Studio relève des erreurs à la sortie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    1>------ Début de la génération*: Projet*: MySqlCpp, Configuration*: Debug Win32 ------
    1>  Main.cpp
    1>Main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: __thiscall sql::SQLString::~SQLString(void)" (__imp_??1SQLString@sql@@QAE@XZ) référencé dans la fonction _main
    1>Main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: __thiscall sql::SQLString::SQLString(char const * const)" (__imp_??0SQLString@sql@@QAE@QBD@Z) référencé dans la fonction _main
    1>Main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __thiscall sql::SQLException::getSQLState(void)const " (__imp_?getSQLState@SQLException@sql@@QBEABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) référencé dans la fonction __catch$_main$0
    1>Main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: int __thiscall sql::SQLException::getErrorCode(void)const " (__imp_?getErrorCode@SQLException@sql@@QBEHXZ) référencé dans la fonction __catch$_main$0
    1>Main.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) class sql::mysql::MySQL_Driver * __cdecl sql::mysql::get_driver_instance(void)" (__imp_?get_driver_instance@mysql@sql@@YAPAVMySQL_Driver@12@XZ) référencé dans la fonction "class sql::mysql::MySQL_Driver * __cdecl sql::mysql::get_mysql_driver_instance(void)" (?get_mysql_driver_instance@mysql@sql@@YAPAVMySQL_Driver@12@XZ)
    1>C:\Users\...\documents\visual studio 2012\Projects\MySqlCpp\Debug\MySqlCpp.exe : fatal error LNK1120: 5 externes non résolus
    ========== Génération*: 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========
    Je n'arrive pas à trouver la solution à ce problème. MySql étant libre, je le préfère à SQL Server dans mes apprentissages.

    D'avance merci de votre aide

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    C'est un problème de linker, il faut link les libs de sql, les fichiers .lib, dans les propriétés du projet.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 62
    Par défaut Historique des lib listées dans les répertoires de bibliothèques supplémentaire des propriétés du projet
    Citation Envoyé par Bousk Voir le message
    C'est un problème de linker, il faut link les libs de sql, les fichiers .lib, dans les propriétés du projet.
    Merci Bousk.

    Voici la liste des lib que j'avais déjà lié dans les répertoires de bibliothèques supplémentaires de mon projet c++ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    C:\boost\boost_1_64_0\boost_1_64_0\libs
    C:\Program Files %28x86%29\MySQL\MySQL Connector C++ 8.0\lib
    C:\Program Files %28x86%29\MySQL\MySQL Connector C++ 8.0\lib\vs14
    As-tu une idée ?

    Merci d'avance

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Y'a aucune lib dans ce que tu montres, ce sont juste des répertoires/dossiers/folders
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 62
    Par défaut Chemin d'accès au répertoire lib
    Citation Envoyé par Bousk Voir le message
    Y'a aucune lib dans ce que tu montres, ce sont juste des répertoires/dossiers/folders
    Merci.

    Je comprends mais il y a des fichiers dll dans l'une et des sources browser database dans l'autre. Cf ci-dessous :

    Nom : 1 cpp.png
Affichages : 1929
Taille : 31,4 Ko

    Nom : 2 cpp.png
Affichages : 1986
Taille : 35,1 Ko

    Je n'y arrive pas.

    Merci pour ton aide

  6. #6
    Membre très actif

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 685
    Par défaut
    Télécharge la version zip à partir d'ici

    En prenant la version 64 bits, je les ai vu dans lib64/vs14/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. connexion à une base de données MySQL via un pilote ODBC
    Par gentelmand dans le forum Administration
    Réponses: 3
    Dernier message: 21/07/2010, 17h04
  2. connexion à une base de données mysql depuis c++
    Par btissama4 dans le forum C++
    Réponses: 4
    Dernier message: 16/02/2007, 11h55
  3. Connexion à une base de données mysql via access
    Par eautret dans le forum Access
    Réponses: 2
    Dernier message: 07/04/2006, 10h02
  4. [VB6]connexion à une base de données distant via ADO
    Par alaminabil1 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 03/02/2006, 12h11
  5. gérer une base de donnée MySql via C++
    Par thiane dans le forum Bibliothèques
    Réponses: 9
    Dernier message: 19/05/2005, 16h19

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