0

我想学习如何在 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;

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

4

1 回答 1

0

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

于 2013-10-02T01:42:24.517 回答