createDataSource - 创建数据源
db.createDataSource(<name>, <address>, [user], [password], [type], [options])
Sdb
该函数用于创建数据源,以实现跨集群的数据访问。
name( string,必填 )
数据源名称,同一数据库中该名称唯一
address( string,必填 )
作为数据源的 SequoiaDB 集群中所有或部分协调节点地址
Note:
- 通过逗号(,)可配置多个协调节点地址。用户需确保地址数不超过七个,且所有地址都指向同一集群。
- 协调节点地址所在机器的主机名不能与本地机器重名。
user( string,选填 )
数据源用户名
password( string,选填 )
与 user 对应的数据源用户密码
type( string,选填 )
数据源类型,当前仅支持 sequoiadb
options( object,选填 )
通过 options 参数可以设置其他选填参数
AccessMode( string ):配置对该数据源的访问权限,包括读写数据,默认值为"ALL"
取值如下:
格式:AccessMode: "READ"
ErrorFilterMask( string ):配置对数据源进行数据操作的错误过滤,默认值为"NONE"
取值如下:
格式:ErrorFilterMask: "READ"
ErrorControlLevel( string ):配置对映射集合或集合空间进行不支持的数据操作(如 DDL)时的报错级别,默认值为"low"
取值如下:
格式:ErrorControlLevel: "low"
TransPropagateMode( string ):配置事务操作在数据源上的传播模式,默认值为"never"
取值如下:
格式:TransPropagateMode: "never"
InheritSessionAttr( boolean ):协调节点与数据源之间的会话是否继承本地会话的属性,默认值为 true
支持继承的属性包括 PreferredInstance、PreferredInstanceMode、PreferredStrict、PreferredPeriod 和 Timeout。
格式:InheritSessionAttr: true
函数执行成功时,将返回一个 SdbDataSource 类型对象。
函数执行失败时,将抛异常并输出错误信息。
createDataSource()
函数常见异常如下:
错误码 | 错误类型 | 可能发生的原因 | 解决办法 |
---|---|---|---|
-369 | SDB_CAT_DATASOURCE_EXIST | 指定数据源已存在 | 检查是否存在同名数据源 |
当异常抛出时,可以通过 getLastErrMsg() 获取错误信息或通过 getLastError() 获取错误码。更多错误处理可以参考常见错误处理指南。
v3.4.3 及以上版本
创建一个名为“datasource”的数据源,该数据源只允许进行只读操作
> db.createDataSource("datasource", "192.168.20.66:50000", "", "", "SequoiaDB", {AccessMode: "READ"})