ODBC API
该主题介绍了 SmartESQL ODBC 驱动程序的实现及其连接现有 SmartEDB 数据库的方法。
(有关在 Windows 或 Unix-Linux 系统上配置 ODBC DSN 的详细信息,请参阅相关链接。)
ODBC 驱动程序旨在使 ODBC 客户端应用程序能够访问标准的 SmartESQL 应用程序,而不是创建独立的 ODBC 应用程序。SmartESQL 支持磁盘和内存数据库;数据库结构由 mcocomp 生成的 C 文件编码到应用程序中。与持久存储的磁盘数据库不同,内存数据库仅在应用程序创建时存在。
SmartESQL ODBC 驱动程序可通过两种方式连接到 SmartEDB 数据库:
- 连接到本地数据库(磁盘或内存数据库),由同一台机器上的 SmartEDB 或 SmartESQL 应用程序创建。
- 通过 SmartESQL 远程服务器连接到远程数据库(磁盘或内存数据库)。
对于本地连接,驱动程序作为薄客户端,通过 TCP 连接序列化 SQL 查询并反序列化结果。对于远程连接,DSN 字符串中的 TCP 地址决定连接目标。如果 DSN 包含 IP 和端口(如 192.168.1.1:5000),则驱动程序尝试远程连接;如果仅包含名称,则连接到共享内存中的本地数据库。
xSQL 工具可作为 SmartESQL 远程服务器,与共享内存中的数据库交互。为了连接到持久的远程数据库,需将 SmartESQL 远程服务器嵌入主应用程序中。SDK 示例中的 sql-12-interactive 源代码展示了如何设置和运行具有交互界面的远程服务器。
下图说明了 ODBC 驱动程序如何与打开共享内存中内存数据库的应用程序进行交互:

下图说明了 ODBC 驱动程序如何与通过 xSQL 打开的远程内存数据库进行交互:
