跳转到主要内容
hs-sql-agent
2.0.2
文档 2.0.2
文档 SQL 编译器

数据库方言

介绍统一 MCP 接口背后的六种数据库支持,以及 SQL 方言“有限支持”的具体含义。

hs-sql-agent 当前支持以下六种关系型数据库:

数据库作用
PostgreSQL输入与输出 SQL 方言
MySQL输入与输出 SQL 方言
SQL Server输入与输出 SQL 方言
Oracle输入与输出 SQL 方言
SQLite输入与输出 SQL 方言
Firebird输入与输出 SQL 方言

MCP 接口统一,不代表 SQL 方言统一

MCP 客户端使用的是统一服务器接口,但 SQL 的具体语义仍然取决于数据库。编译器负责确保受支持的语句在目标数据库上保持原有含义。

这类差异会影响运算符、数据类型、CAST、函数、标识符、分页、NULL 语义以及 DML 行为。

支持范围是明确限定的

数据库出现在支持列表中,并不意味着该数据库提供的所有 SQL 语法都可以使用。

如果输入语法无法被安全地内部表示,或者无法确认目标数据库能够保持等价语义,编译器就会按照“失败即拒绝”原则拒绝请求。支持范围可以继续扩大,但不会放弃这一规则。

在生产环境中,应把 hs-sql-agent 编译器实际接受的 SQL 作为正式契约,不要假设数据库命令行工具能够执行的任意 SQL 都会被 hs-sql-agent 接受。