连接尝试失败MySQL poco

时间:2014-03-29 13:25:41

标签: c++ mysql mysql-connector poco-libraries

关于Mysql连接失败的另一个问题:

我正在使用Poco库(1.5.2),我想知道为什么,当我尝试打开MySQL连接时,我收到了这条消息:

  

连接尝试失败

然而,当我通过控制台尝试连接时(mysql -u root -p ...),它可以工作。

也许我忘记了MySQL配置中的重要一步?

这是我的代码:

#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;
}

谢谢!

1 个答案:

答案 0 :(得分:2)

好的问题是&#34; localhost&#34; &#34;主持人&#34;的价值不能在我的linux上工作(我不知道为什么)。为了修复bug,我不得不将我的字符串更改为:

string str = "host=127.0.0.1;user=root;password=mypassword;compress=true;auto-reconnect=true";