Question

Another question on a Mysql connection failing:

I'm using the Poco library (1.5.2) and I would like to know why, when I try to open a MySQL connection, I got this message:

Connection attempt failed

Whereas, when I try a connection via console (mysql -u root -p ...), it works.

Maybe I forget an important step in the MySQL configuration ?

Here is my code :

#include <iostream>
#include <string>

#include <Poco/Data/MySQL/MySQLException.h>
#include <Poco/Data/MySQL/Connector.h>
#include <Poco/Data/SessionFactory.h>

using namespace std;

int main()
{
    Poco::Data::MySQL::Connector::registerConnector();
    try
    {
        string str = "host=localhost;user=root;password=mypassword;compress=true;auto-reconnect=true";
        Poco::Data::Session test(Poco::Data::SessionFactory::instance().create(Poco::Data::MySQL::Connector::KEY, str ));
    }
    catch (Poco::Data::MySQL::ConnectionException& e)
    {
        cout << e.what() << endl;
        return -1;
    }
    catch(Poco::Data::MySQL::StatementException& e)
    {
        cout << e.what() << endl;
        return -1;
    }

    return 0;
}

Thank you !!

Was it helpful?

Solution

ok the problem was the "localhost" value for "host" doesn't work on my linux (I don't know why). For fixing the bug, I had to change my string to:

string str = "host=127.0.0.1;user=root;password=mypassword;compress=true;auto-reconnect=true";
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top