# capabilities.json
capabilities.json
文件描述了扩展数据库连接器的属性配置信息,如支持版本、字段类型、SQL模板等。
{
"inheritConnector": "JDBC",
"matchDbVersion": ">=5.0.0",
"matchJdbcURL": "jdbc:mysql:",
"driver": "com.mysql.cj.jdbc.Driver",
"serverScript": "script.action",
"forbiddenSQLs": [...],
"connectionProperties": {...},
"dataTypes": {...},
"functionTemplates": {...},
"operatorTemplates": {...},
"displayFormats": {...},
"errorIdentifyConfs": [...],
"sqlTemplates": {...},
"supports": {...},
"compitableVersions": {...}
}
# 配置项
# inheritConnector
指定一个其他数据库连接器,当前连接器会继承指定连接器的配置,默认为JDBC。
- 此参数填写Connector的标识ID,一般配置为指定数据库名字,且大小写敏感。
- 若想继承特定版本的配置,可以用
@
字符对数据库连接器和版本进行分隔,如MySql@8.0.0
。
# matchDbVersion
指定该数据库连接器所能兼容的数据库的版本。
- 兼容版本通常为一个范围,且遵循semver规范 (opens new window)。
- 版本号必须为3位数字,常见示例如下:
>=5.0.0
表示兼容5.0.0及以后版本的数据库。5.0.0 - 5.7.0
表示兼容5.0.0和5.7.0之间的版本。~5.6.0
表示兼容5.6.x版本的数据库,包括5.6.0,5.6.2,但不包括5.7、6.0等以后版本的数据库。^5.6.0
表示兼容5.x.x版本的数据库,包括5.6.0、5.7.0、5.8.0,单不包括6.0及以后的版本。
# matchJdbcURL
配置一个正则表达式或字符串,判断是否兼容某个jdbc的url。
- 正则表达式通常用斜线括起来,如
/^jdbc:mysql:.+$/
。 - 若没有用斜线括起来,会判断url是否以该字符串开头,如
jdbc:mysql:
。
# driver
数据库连接器默认驱动,若package.json
中也配置了driver属性,以package.json
中的配置为准。
# script
指定一个当前扩展目录的脚本文件,用于通过脚本代码实现一些数据库底层相关的逻辑,如使用数据库本地的jdbc api去流式导入数据,想洗可参考数据库连接器扩展指南中的DbConnectorScript
接口。
# forbiddenSQLs
配置一个正则表达式,禁止用户使用此连接器执行一些修改当前连接状态的SQL。正则表达式通常用斜线括起来。
示例: /^\s*USE\s/
表示禁用mysql中的USE xxx
语句。
# connectionProperties
定义java的jdbc连接时需要用的一些默认链接参数,配置可参考package.json。
# dataTypes
定义数据库支持什么字段类型,具体配置参考字段类型配置。
# functionTemplates
配置SuccBI中表达式函数对应的数据库执行SQL,具体配置参考表达式函数配置。
# operatorTemplates
当数据库中的表达式操作符与SuccBI中的表达式操作符有差异时,需要将差异的内容配置在这里,默认为空。
# displayFormats
定义与SuccBI的显示格式相匹配的数据库的显示格式,具体配置可参考SuccBI显示格式配置。
# errorIdentifyConfs
用于配置数据库异常信息的匹配规则,具体配置可参考异常信息配置。
# sqlTemplates
数据库连接器的支持的SQL模板,详细配置参考SQL模板配置。
# supports
配置一些数据库特性以及SQL方言,详细配置参考配置数据库特性。
# compitableVersions
配置默认版本外数据库的兼容属性,详细配置可参考配置其他版本兼容性。
是否有帮助?
0条评论
评论