2013-09-30 111 views
0

我想了解如何在Delphi中使用ADO。我正在努力編寫一個Delphi 7應用程序,它將簡單地連接到數據庫並運行一些查詢。我被困在'連接到數據庫'部分本身。從Delphi 7連接到PostgreSQL時出錯

我用Delphi 7和PostgreSQL 9.2作爲數據庫和我的操作系統是Windows 7

我從Here下載PostgreSQL的OLE DB提供程序和自述按照說明註冊吧:

安裝說明: 爲了安裝此軟件,請將PGOLEDB.DLL和LIBPQ.DLL複製到您的系統 目錄中。接下來,以管理員身份運行「regsvr32 PGOLEDB.DLL」。你應該得到一個對話 消息說「註冊成功」。

然後我試圖連接到數據庫如下 -

interface 
const 
    ConnectionString : string = 'Provider=PostgreSQL OLE DB Provider;Data Source=localhost;' + 
           'User ID=postgres;password=sd123;timeout=50000;'; 

implementation 
procedure TForm1.FormCreate(Sender: TObject); 
begin 
    Connection.ConnectionString := ConnectionString; 
    Connection.LoginPrompt := true; 
    Connection.Connected := true; 
end; 

當我運行程序時,它不顯示登錄提示。相反,它給出錯誤'預期的驗證請求來自服務器,但收到 -'。我試圖在網上找到解決方案,但沒有找到任何東西。我怎樣才能解決這個錯誤?

回答

0

PostgreSQL OLE DB驅動程序非常舊且不受支持。就我個人而言,我從未能夠成功地使用它。從http://www.postgresql.org/ftp/odbc/versions/msi/下載並安裝最新的32位ODBC驅動程序,然後使用它。在Delphi中使用ADO時,您需要使用ODBC的OLE DB驅動程序並將其配置爲使用PostgreSQL ODBC驅動程序,但所有內容都可以通過連接對話框進行配置。