🐛 fix(connection): 收敛数据库连接参数白名单

- MySQL 兼容 JDBC 参数映射并丢弃 allowPublicKeyRetrieval 等无效参数
- 为 PostgreSQL 系、SQL Server、Oracle、达梦、TDengine 接入驱动参数白名单
- 补充连接参数归一化、别名映射和未知参数过滤回归测试
This commit is contained in:
Syngnat
2026-05-13 17:51:02 +08:00
parent e6a1333f83
commit b2b1e6b944
15 changed files with 874 additions and 33 deletions

View File

@@ -49,8 +49,8 @@ func (s *SqlServerDB) getDSN(config connection.ConnectionConfig) string {
q.Set("connection timeout", strconv.Itoa(getConnectTimeoutSeconds(config)))
encrypt, trustServerCertificate := resolveSQLServerTLSSettings(config)
q.Set("encrypt", encrypt)
q.Set("TrustServerCertificate", trustServerCertificate)
mergeConnectionParamsFromConfig(q, config, "sqlserver")
q.Set("trustservercertificate", trustServerCertificate)
mergeConnectionParamsFromConfigWithAllowlist(q, config, sqlServerConnectionParamNames, "sqlserver")
u.RawQuery = q.Encode()
return u.String()