2
我有一个数据库设置在我的1and1包中,我想在C++应用程序中连接到它。它在PHP中工作得很好。C++/MySQL - 通过主机地址访问数据库时'未知的MySQL服务器主机';没有IP
的问题是,我没有数据库的实际IP,我所有的主机地址和登录信息:
主机名: db12345678.db.1and1.com
用户名: dbo12345678
密码:输入mypassword
我使用MySQL的C++连接器1.1.4。这里是我的代码用于测试目的:
#include <Windows.h>
#include <cppconn/driver.h>
#include <cppconn/exception.h>
#include <cppconn/resultset.h>
#include <cppconn/statement.h>
#include <iostream>
#pragma comment(lib,"mysqlcppconn.lib")
int main(int argc,char *argv[])
{
try {
sql::Driver *driver;
sql::Connection *con;
sql::Statement *stmt;
sql::ResultSet *res;
driver = get_driver_instance();
con = driver->connect(sql::SQLString("db12345678.db.1and1.com"),sql::SQLString("dbo12345678"),sql::SQLString("mypassword"));
con->setSchema("test");
}
catch(sql::SQLException &e)
{
std::cout<<"Exception: "<<e.what()<<std::endl;
}
while(true);
return 0;
}
使用的主机地址,我得到了以下的输出:
Exception: Unknown MySQL server host 'db12345678.db.1and1.com' (0)
我也试过“TCP://db12345678.db.1and1.com” “tcp://db12345678.db.1and1.com:3306”,“db12345678.db.1and1.com:3306”,错误消息不同,但最终结果相同。
我试过ping主机,并通过traceroute来获取IP,但这并不起作用。
我还能试试吗?
是你的数据库的远程访问允许? – VMai 2014-09-13 14:03:39
我可以通过PHP在不同的主机上访问它,所以我假设它是。 – Silverlan 2014-09-13 14:17:37
那么使用你的PHP主机来获取MySQL服务器的IP地址呢? – VMai 2014-09-13 14:27:06