↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

已结束支持的版本: 6.3
历史版本。 PostgreSQL 6.3 已结束支持。 请参阅 当前版本手册.

第 47 章 ODBC 接口

Tim Goeke

注意

由 Tim Goeke 供稿

ODBC 是一个抽象 API,让你能够使用 ODBC API 编写标准的"ODBC"代码。

47.1. 背景

ODBC API 在后端对应一个 ODBC 兼容的数据源。它可以是任何东西,从一个文本文件到一个 Oracle RDBMS。

后端访问来自 ODBC 驱动,或者说来自允许访问数据的厂商特定驱动。PostODBC 就是这样一种驱动,此外还有其他可用的驱动,例如 OpenLink 的 ODBC 驱动。

一旦你编写了一个 ODBC 应用,只要数据库模式相同,无论后端数据库来自哪个厂商,你都应该能连接到任何后端数据库。

例如,你可以有一台 MS SQL Server 服务器和一台数据完全相同的 PostgreSQL 服务器。使用 ODBC,你的 Windows 应用发出的调用将完全相同,后端数据源(在 Windows 应用看来)看起来也一样。

在现实世界中,驱动之间的差异以及 ODBC 支持水平的不同削弱了 ODBC 的潜力:

Access、Delphi 和 Visual Basic 都直接支持 ODBC。
在 C++(例如 Visual C++)下,你可以使用 C++ 的 ODBC API。
在 Visual C++ 中,你可以使用 CRecordSet 类,它把 ODBC API 集封装在一个 MFC 4.2 类中。如果你在 Windows NT 下进行 Windows C++ 开发,这是最容易的路线。

如果我为 PostgreSQL 编写一个应用,我能否通过 ODBC 调用访问 PostgreSQL 服务器来编写它,还是说只有当 MS SQL Server 或 Access 之类的其他数据库程序需要访问数据时才这么做?

再说一遍,ODBC API 集正是该走的路。你可以在 Microsoft 的网站或你的 Visual C++ 文档(如果你用的就是它)中找到更多信息。

Visual Basic 和其他 RAD 工具有 Recordset 对象,它们直接使用 ODBC 访问数据。使用数据感知控件,你可以(非常迅速地)快速链接到 ODBC 后端数据库。

玩玩 MS Access 会帮你弄清楚这一切。试着使用 File->Get External Data

提示

你必须先设置一个 DSN。

提示

PostgreSQL 的 datetime 类型会让 MS Access 出问题。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.