360 Secure SkillHub
360 安全技能中心

SQL Connector

该 Skill 用 pymssql 封装 SQL Server 连接层,向 OpenClaw 代理提供 execute/query/scalar 接口,支持参数化查询、自动重试、连接池与结构化错误处理,execute 可执行 INSERT/UPDATE/DELETE 等写操作。凭据经环境变量注入,安装通过 clawhub 及 pymssql、python-dotenv 依赖完成;版本标注为 AL…

oblio-falootin
oblio-falootin
热度 58.92
最近更新 2026-05-18 12:30:36
分类:开发依赖:代码执行 / 第三方 API应用场景:API 集成 / 数据处理 / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add sql-connector
Metadata
name
sql-connector
version
2.1.0-alpha
status
alpha
description
Generic SQL Server connectivity for OpenClaw agents. Use when: (1) executing parameterized queries against SQL Server, (2) building repository layers that need a sealed, retry-capable SQL transport, (3) any agent that needs reliable MSSQL access without subprocess/sqlcmd. Provides execute/query/scalar APIs via pymssql with automatic retry, connection pooling, and structured error handling. ALPHA: use at your own risk, API may change.

SQL Connector Skill

Generic SQL Server connectivity for OpenClaw agents — pymssql transport

Overview

Provides a reusable, sealed SQL Server connection layer with automatic retry, parameterized queries, and structured error handling. Built on pymssql (native TDS driver — no sqlcmd required).

Installation

clawhub install sql-connector

Quick Start

from sql_connector import get_connector

db = get_connector('cloud')   # or 'local'

# Execute (INSERT/UPDATE/DELETE)
ok = db.execute("INSERT INTO memory.Logs (msg) VALUES (%s)", ("hello",))

# Query (SELECT → list of dicts)
rows = db.query("SELECT id, name FROM memory.Memories WHERE category=%s", ("facts",))

# Scalar (single value)
count = db.scalar("SELECT COUNT(*) FROM memory.TaskQueue WHERE status='pending'")

Environment Variables

SQL_CLOUD_SERVER=sql5112.site4now.net
SQL_CLOUD_DATABASE=db_99ba1f_memory4oblio
SQL_CLOUD_USER=...
SQL_CLOUD_PASSWORD=...

SQL_LOCAL_SERVER=10.0.0.110
SQL_LOCAL_DATABASE=Oblio_Memories
SQL_LOCAL_USER=sa
SQL_LOCAL_PASSWORD=...

Architecture

SQLConnector (ABC, _LockCoreMethods metaclass)
  execute() / query() / scalar()  ← SEALED — parameterized only, no override
  MSSQLConnector (pymssql, TDS 7.4)
    └── get_connector(backend) factory

execute() and query() are sealed by metaclass — subclasses cannot override them, enforcing parameterized-only access.

License

MIT