从Delphi 7连接到PostgreSQL时出错

时间:2013-09-30 10:41:18

标签: delphi oledb delphi-7 postgresql-9.2

我想学习如何在Delphi中使用ADO。我正在尝试编写一个Delphi 7应用程序,它只需连接到数据库并运行一些查询。我被困在'连接到数据库'部分本身。

我使用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;

当我运行程序时,它不会显示登录提示。相反,它会从服务器提供错误“预期的身份验证请求,但收到 - ”。我试图在互联网上找到解决方案,但没有找到任何东西。我该如何解决这个错误?

1 个答案:

答案 0 :(得分:0)

PostgreSQL OLE DB驱动程序非常陈旧且不受支持。就个人而言,我从未成功使用过它。从http://www.postgresql.org/ftp/odbc/versions/msi/下载并安装最新的32位ODBC驱动程序,然后使用它。使用Delphi中的ADO,您需要使用OLE DB驱动程序进行ODBC并将其配置为使用PostgreSQL ODBC驱动程序,但所有内容都可以通过连接对话框进行配置。