C语言 关于在Windows中使用PQconnectdb()连接pq服务器时的身份验证



我已经在我的win7笔记本电脑中安装了postgresql9.2.4,并编写了一个简单的程序来测试我的vs2008中的连接。代码在这里:

#include "stdafx.h"
#include <windows.h>
#include "libpq-fe.h"

int _tmain(int argc, _TCHAR* argv[])
{
    const char *conninfo;
    PGconn     *conn;
    conninfo = "password = password";
    conn = PQconnectdb(conninfo);
    if (PQstatus(conn) != CONNECTION_OK)
    {
        printf("Connection to database failed: %s",
                PQerrorMessage(conn));
    }
    system("pause");
    return 0;
}

它显示了一个错误,即运行身份验证后身份验证失败。我知道这是密码的错误,它应该是md5加密的。所以我在谷歌上搜索。这个问题几乎没有问题。我在libpq文件夹中找到了一个名为" md5.h"的头文件,并且有一个名为" pg_md5_hash"的功能,我尝试了一下,并出现许多链接错误。谁能给我一些建议?谢谢。

您不必自己加密密码。Libpq 正在根据 pg_hba.conf 配置选择身份验证方法。

你的连接远非正确。您提供了密码,但至少错过了数据库和用户名。

最新更新