2013-09-28 23 views
0

我在我的win7的筆記本電腦安裝postgresql9.2.4,並寫了一個簡單的程序來測試我的vs2008.The代碼連接窗口PQ服務器時是在這裏:關於認證使用的PQconnectdb()連接在

#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; 
} 

它顯示了關於運行後驗證失敗的錯誤。 我知道它是關於密碼的錯,這是shoulded MD5 encrypted.So我搜索在google.There幾乎沒有這方面的疑難問題。問題的發現名爲libpq的文件夾「md5.h」頭文件,有一個名爲「功能pg_md5_hash「,我試過了,並且出現了很多鏈接錯誤。 任何人都可以給我一些建議嗎? 謝謝。

+0

詳細信息可以在這裏找到:http://www.postgresql.org/docs/9.3/static/libpq-connect.html#LIBPQ-CONNSTRING的總體例子是在這裏:HTTP:// WWW。 postgresql.org/docs/devel/static/libpq-example.html – alk

+0

我知道這個文件,但我還沒有找到我的答案。本文件不包含有關md5密碼加密的任何內容。 – asenxu08

回答

0

你不必自己來加密口令。 Libpq根據pg_hba.conf配置選擇身份驗證方法。

你conninfo是遠遠正確。您提供了密碼,但您至少錯過了數據庫和用戶名。在連接字符串

+0

我在conninfo中添加了用戶名,並且它傳遞正確。感謝您的好意。這是我第一次使用postgresql作爲我的項目。 – asenxu08