从 C++ 访问 MySQL 数据库

发布于 2024-11-19 05:34:58 字数 558 浏览 0 评论 0 原文

我想从 Qt C++ 应用程序连接到 MySQL 数据库。数据库位于主机上并可在互联网上使用。我有 MySQL 用户名、密码和主机 IP 以及端口号(我不知道是什么),

    Application::getInstance()->db = QSqlDatabase::addDatabase("QMYSQL");
    QSqlDatabase *db = &Application::getInstance()->db;
    db->setHostName("64.34.119.12");    // The string is IP address of my host (not real) 
    db->setDatabaseName("foo");
    db->setUserName("root");
    db->setPassword("password");
    db->open(); // returns false

我尝试将 IP 地址传递给 db->setHostName() 但没有成功:连接失败。

I want to connect to a MySQL database from a Qt C++ application. Database is located on a host and is available on internet. I have the MySQL username, password and IP of host and a port number (that I don't know what is)

    Application::getInstance()->db = QSqlDatabase::addDatabase("QMYSQL");
    QSqlDatabase *db = &Application::getInstance()->db;
    db->setHostName("64.34.119.12");    // The string is IP address of my host (not real) 
    db->setDatabaseName("foo");
    db->setUserName("root");
    db->setPassword("password");
    db->open(); // returns false

I tried to pass IP address to db->setHostName() but not worked: Connection fails.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

七婞 2024-11-26 05:34:58

好吧,因为你提供的信息很少,所以我只能给你一个预感,所以我在这里:通常网络托管商将 MySQL 数据库配置为仅接受来自本地主机的连接(对于 php 或类似网站,位于那里,这就足够了)这样就更安全,滥用的可能性也更小)。这可能是尽管您拥有正确的凭据,但不接受来自您的计算机的连接的原因。

Well, because you gave very little information, I cannot give you anything but a hunch, so here I go: Often webhosters configure there MySQL Databases to only accept connections from localhost (for a php or similar site, that is locate there, that's enough and that way it is more secure and abuse is less likely). That could be the reason why a connection from your machine is not accepted, though you have the right credentials.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文