0

我在我的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加密的。所以我在google上搜索。这个问题几乎没有问题。我在libpq文件夹中找到了一个名为“md5.h”的头文件,并有一个名为“pg_md5_hash”的函数",我试过了,但出现了很多链接错误。谁能给我一些建议?谢谢。

4

1 回答 1

0

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

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

于 2013-09-28T13:36:19.087 回答