核心用法
sql-connector 是一个专为 OpenClaw Agent 设计的 SQL Server 连接层,基于 pymssql(原生 TDS 驱动)构建,无需依赖 sqlcmd 或子进程。核心 API 包含三个方法:
execute(sql, params):执行 INSERT/UPDATE/DELETE,返回布尔状态query(sql, params):执行 SELECT,返回字典列表scalar(sql, params):返回单个标量值
通过 get_connector('cloud' | 'local') 工厂函数获取实例,支持多环境配置切换。连接层采用元类密封关键方法,强制参数化查询,杜绝 SQL 注入风险。
显著优点
1. 零外部依赖:纯 Python pymssql 实现,无需 sqlcmd 或 ODBC 驱动
2. 密封安全设计:execute() 与 query() 被元类锁定,子类无法覆盖,强制参数化
3. 生产级韧性:内置自动重试、连接池管理、结构化异常处理
4. 环境隔离:cloud/local 双配置支持,便于开发与生产环境切换
潜在局限
- Alpha 阶段:API 可能变更,不建议用于关键生产负载
- SQL Server 限定:仅支持 MSSQL,无法用于 PostgreSQL/MySQL 等
- 依赖 pymssql:该库维护活跃度一般,存在长期兼容性风险
- 功能裁剪:非通用 ORM,复杂事务、批量操作需自行封装
适合人群
- 需要为 Agent 快速构建 Repository 层的开发者
- 追求"密封安全"而非灵活定制的安全敏感场景
- 已有 SQL Server 基础设施的 OpenClaw 生态用户
常规风险
| 风险类型 | 说明 |
|---------|------|
| 供应链风险 | pymssql 依赖 FreeTDS,需关注上游安全更新 |
| 配置泄露 | 密码以明文环境变量存储,需配合密钥管理服务 |
| 连接耗尽 | 连接池配置不当可能导致连接数打满 |
| Alpha 不稳定 | 版本 2.1.0-alpha 存在 breaking change 可能 |