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 接受。