1

首先,我想说我多年来一直潜伏在这个网站上,我感谢你为帮助我使用 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;
}
4

0 回答 0