从 Delphi 7 连接到 PostgreSQL 时出错
Posted
技术标签:
【中文标题】从 Delphi 7 连接到 PostgreSQL 时出错【英文标题】:Error when Connecting to PostgreSQL from Delphi 7 【发布时间】:2013-09-30 10:41:17 【问题描述】:我想学习如何在 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;
当我运行程序时,它没有显示登录提示。相反,它给出了错误“Expected Authentication Request from server, but received -”。我试图在互联网上找到解决方案,但没有找到任何东西。我该如何解决这个错误?
【问题讨论】:
【参考方案1】:PostgreSQL OLE DB 驱动程序非常旧且不受支持。就个人而言,我从来没有成功使用过它。从http://www.postgresql.org/ftp/odbc/versions/msi/ 下载并安装最新的 32 位 ODBC 驱动程序,然后改用它。使用 Delphi 中的 ADO,您需要使用 OLE DB Driver for ODBC 并将其配置为使用 PostgreSQL ODBC Driver,但所有内容都可以通过连接对话框进行配置。
【讨论】:
以上是关于从 Delphi 7 连接到 PostgreSQL 时出错的主要内容,如果未能解决你的问题,请参考以下文章
使用 SDBC 从 libreoffice 基地连接到 PostgreSQL
PHP 无法在 CentOS 7 上连接到 PostgreSQL