# capabilities.json

capabilities.json文件描述了扩展数据库连接器的属性配置信息,如支持版本、字段类型、SQL模板等。

{
	"inheritConnector": "JDBC",
	"matchDbVersion": ">=5.0.0",
	"matchJdbcURL": "jdbc:mysql:",
	"driver": "com.mysql.cj.jdbc.Driver",
	"script": "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条评论
评论