我在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”的函数“,我尝试了它,并带来了许多链接错误。 谁能给我一些建议? 感谢。
答案 0 :(得分:0)
您不必自己加密密码。 Libpq正在根据pg_hba.conf配置选择身份验证方法。
您的conninfo远非正确。您提供了密码,但至少错过了数据库和用户名。