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

Visual C++ Discussion :

Connection MySQL Visual Studio 2019


Sujet :

Visual C++

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    796
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 796
    Points : 223
    Points
    223
    Par défaut Connection MySQL Visual Studio 2019
    Bonjour,
    Je souhaiterais me connecter à MySQL en utilisant Visual Studio 2019 C++ et j'ai deux problèmes :
    1) je n'arrive plus à lancer Projet/Gerer les packages Nuget...
    2)j'ai l'erreur suivante :

    Erreur LNK2001 symbole externe non résolu __imp__get_driver_instance DataBase D:\FormationC++2809\ConsoleApplication1\ConsoleApplication1\Database\DataBase\Database.obj 1
    pour le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql::Driver* driver = get_driver_instance();
    Si quelqu'un a une idée MERCI

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    796
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 796
    Points : 223
    Points
    223
    Par défaut
    Bonjour,
    N'ayant pas de réponses et n'ayant pas trouvé la solution je réessaye encore une fois en donnant quelques précisions :
    j'ai utilisé le tuto suivant pour faire la connection :

    Accéder à une base de donnée MySQL/MariaDB en C++

    1. Installation du connecteur (qui va faire le lien entre le c++ et la bdd)

    Connector/C++ 8.0.22 https://dev.mysql.com/downloads/connector/cpp/ Windows (x86, 64-bit), MSI Installer

    Installation Choisir→ Custom

    2. Créer un projet dans visual Studio :Ajouter la librairie boost qui est une dépendance du connecteur
    Projet → gérer les packages nuget→ parcourir→boost→installer

    3. Configurer le projet en realease (ne fonctionne pas en debug, sinon il faut recompiler le connecteur à partir des sources)

    4. Ajouter les includes du connecteur au projet
    Projet→propriété →c/c++→ général→autre répertoire d’include→modifier et ajouter le chemin vers le dossier include du connecteur
    C:\Program Files\MySQL\MySQL Connector C++ 8.0\include\mysql

    5. Ajouter le chemin vers la librairie du connecteur au projet Projet→propriété →éditeur de lien →général→répertoire de bibliothèques supplémentaires
    C:\Program Files\MySQL\MySQL Connector C++ 8.0\lib64


    6. Ajouter la librairie au projet
    Projet→propriété →éditeur de lien →entrée→dépendance supplémentaire→ Modifier
    C:\Program Files\MySQL\MySQL Connector C++ 8.0\lib64\vs14\ mysqlcppconn.lib
    Une fois ajouter, il faut supprimer en fin du chemin ;%(AdditionalDependencies)



    7. Copier la DLL dans le dossier qui contient l’exécutable
    C:\Program Files\MySQL\MySQL Connector C++ 8.0\lib64\mysqlcppconn-7- vs14.dll

    Dans le dossier de solution qui contient les exécutables x64\realease C:\Users\ \source\repos\ConsoleApplication1\x64\Release

    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
    #include <iostream>
    #include <jdbc.h>
     
    using namespace std;
    using namespace sql;
    int main()
    {
    	try {
    		// TEST Base de Données 
    		// à créer dans mysql ou mariadb
    		// bdd test
    		// table t_personnes => id INT, prenom VARCHAR(50) , nom VARCHAR(50)
     
    		// Récupérer le driver
    		Driver* driver = get_driver_instance();
    		// Créer la connection paramètres (url de la bdd,utilisateur de la bdd, motde passe)
    		// si la base est en local url tcp://127.0.0.1 + le port mysql
    		// Connection -> objet qui représente la connection à la base de donnée
    		sql::Connection* cnx = driver->connect("tcp://127.0.0.1:3306", "root", "dawan");
     
    		// Nom la base de donnée 
    		cnx->setSchema("test");
     
    		// Statement -> objet qui permet d'executer les requètes sql
    		sql::Statement* stmt = cnx->createStatement();
     
    		sql::ResultSet* res = stmt->executeQuery("SELECT id,prenom,nom FROM t_personnes");
    		// La méthode executeQuery est utilisée pour les requétes qui retourne un résultat SELECT
    		// ResultSet -> objet qui permet de récuperer les résultat de la requete
     
    		while (res->next()) {// la méthode next permet de passer au prochain résultat (au départ positionner devant le premier résultat)
    			// quand il n'y a plus de résultat retourne false
     
    			// On récupère les valeurs du résultat avec la méthode getXXX XXX-> type de la valeur
    			// les résultats commence à l'index 1 
    			cout << res->getInt(1) << endl;
    			cout << res->getString(2) << endl;
    			cout << res->getString(3) << endl;
    		}
     
    		// effacer les pointeurs
    		delete stmt;
    		delete res;
    		delete cnx;
    	}
    	catch (sql::SQLException& e) {
    		cout << e.what();
    		cout << " (MySQL error code: " << e.getErrorCode();
    		cout << ", SQLState: " << e.getSQLState() << " )" << endl;
    	}
    }
    j'ai toujours la même erreur :

    Erreur LNK2001 symbole externe non résolu __imp__get_driver_instance TestConnMySQL D:\FormationC++2809\TestConnMySQL\DataBase1.obj 1
    Erreur LNK1120 1 externes non résolus TestConnMySQL D:\FormationC++2809\TestConnMySQL\Release\TestConnMySQL.exe 1
    D'après mes recherches sur le net il manquerait une macro permettant d'utiliser la bibliothèque mysqlcppconn.lib qui une bibliothèque statique


    Si quelqu'un a une idée MERCI

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/05/2011, 15h12
  2. Connecter son visual studio a un serveur sharepoint distant
    Par walido dans le forum Développement Sharepoint
    Réponses: 4
    Dernier message: 28/04/2011, 17h42
  3. MySQL++ & Visual Studio 2008 (projet MFC)
    Par Plumb dans le forum Visual C++
    Réponses: 1
    Dernier message: 04/02/2011, 02h32
  4. Connexion MYSQL VISUAL STUDIO
    Par mappy dans le forum VB.NET
    Réponses: 2
    Dernier message: 02/10/2009, 20h41
  5. MySQL & Visual studio
    Par MnMall dans le forum Accès aux données
    Réponses: 1
    Dernier message: 08/04/2007, 22h17

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