首先,我想说我多年来一直潜伏在这个网站上,我感谢你为帮助我使用 C\C++ 所做的一切。
我遇到的真正问题是,我在 Windows 中制作了一个解析 yaml 文件的程序,然后使用解析的信息查询 SQL 数据库,并且运行良好。所以我把它移植到了 linux 上,这似乎已经奏效了,省去了一个问题。每当我测试程序时,我都会收到错误 2005,说它找不到主机名。我试过强制使用TCP,但仍然无济于事。我已经尝试了多个数据库,奇怪的是这在 Windows 上运行良好,所以如果有人可以阐明这个问题。
错误具体是:Error: 2005: Unknown MySQL server host '#.#.#.#' (0)
注意:# 只是为了审查实际的 IP 地址。
我不确定自己做错了什么,希望得到一些帮助。我的代码如下。
int openConnection( char *name, char *password, char *ip, char *port, char *db )
{
printf("Opening SQL Connection...\n");
conn = mysql_init(NULL);
if (conn == NULL)
{
printf("Error: %u: %s\n", mysql_errno(conn), mysql_error(conn));
return 1;
}
if (mysql_real_connect(conn,
ip,
name,
password,
db,
(int)port,
NULL, 0) == NULL)
{
printf("Error: %u: %s\n", mysql_errno(conn), mysql_error(conn));
return 2;
}
return 0;
}