Bonjour,
Je développe actuellement un serveur en C++ communiquant avec une BDD par l'intermédiaire de mysqlconnector c++.
Mon code compile et fonctionne parfaitement en mode débuggage. En revanche quand je passe en mode release, apparemment, ma fonction openConnection() qui permet de se connecter à la base ne fonctionne plus.
Les messageBox() ne sont la que pour le débuggage du mode release. Donc pour résumer, ce code tourne et fonctionne (m_driver->connect() passe sans soucis) en mode debug mais en release il provoque une exception avec l'erreur : "Can't connect to ...." avec le code d'erreur 1243156. Pour infos, ex.getSQLstate() me retourne "HY000".
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 try { m_driver = get_driver_instance(); //on charge le driver MySQL MessageBox(NULL, "123123132", "Service Error", MB_SERVICE_NOTIFICATION | MB_OK); m_cnx = m_driver->connect(m_url, m_user, m_passwd); //on crée la connexion MessageBox(NULL, "00000000000000", "Service Error", MB_SERVICE_NOTIFICATION | MB_OK); m_cnx->setSchema(m_db); //on selectionne la BDD m_stmt = m_cnx->createStatement(); //pour executer des requetes } catch (sql::SQLException& ex) { //erreur lors de la construction de l'objet on le detruit proprement. closeConnection(); std::stringstream t ; t << ex.getErrorCode(); MessageBox(NULL, t.str().c_str(), "123 Error", MB_SERVICE_NOTIFICATION | MB_OK); throw ex; } m_connected = true;
Voila si quelqu'un a un début de piste, je lui serais extrêmement reconnaissant.
Merci d'avance.
Partager