#yacConnect

# 功能简介

yacConnect函数用于客户端发起连接请求,返回YAC_SUCCESS表示连接成功,返回YAC_ERROR表示连接失败。

# 函数声明

yacResult yacConnect ( yacHandle hConn,
                       const yacChar* url,
                      YacInt16 urlLength,
                      const yacChar* user,
                      YacInt16 userLength,
                      const yacChar* password,
                      YacInt16 passwordLength);

# 参数说明

参数名 说明
hConn (IN/OUT) 连接信息句柄。
url (IN) 目标数据库的URL,支持通过单地址、多地址或多地址组连接,详细介绍请查阅下文。
urlLength (IN) 服务端地址长度,可传入YAC_NULL_TERM_STR表示以\0结尾。
user (IN) 用户名。
userLength (IN) 用户名长度,可传入YAC_NULL_TERM_STR表示以\0结尾。
password (IN) 用户密码。
passwordLength (IN) 用户密码长度,可传入YAC_NULL_TERM_STR表示以\0结尾。

URL格式如下:

  • 单地址连接: host:port

  • 多个地址连接:serverType:host:port,host:port,host:port,host:port,多个地址间用,分隔,连接时根据服务类型(serverType参数)配置对相应节点进行连接。

  • 多组地址连接:serverType:host:port,host:port;host:port,host:port,多组地址间用;分隔,同组内的多个地址间用,分隔,连接时先在组内根据serverType配置对相应节点进行连接,当组内所有连接均失败后按顺序优先级(越靠前优先级越高)访问下一组。

参数含义:

  • host:port:

    • host:数据库所在服务器的网络地址,可以为IPv4地址、IPv6地址或域名。在共享集群部署中,若已配置SCANVIP,还可以使用相应的域名或IP地址。

    • port:数据库服务端监听端口,如安装过程中未进行调整,默认为1688。

  • serverType:多地址连接的连接类型,可选项包括primary、standby、loadBalance、primaryLoadBalance以及standbyLoadBalance。若不指定serverType,在输入多IP时默认采用primary。各类型的详细介绍如下:

    serverType 说明
    primary 按顺序优先级连接主节点,驱动将按照指定的监听地址先后顺序对节点进行角色判断并连接首个主节点。
    默认类型,可省略。
    standby 按顺序优先级连接备节点,驱动将按照指定的监听地址先后顺序对节点进行角色判断并连接首个符合要求的节点。
    loadBalance 负载均衡连接最优节点,驱动将自动识别出连接数最少的节点并连接。
    primaryLoadBalance 负载均衡连接最优的主节点,驱动会先判别节点角色,再识别出连接数最少的主节点进行连接。若连接数相同,则按优先级顺序连接靠前的节点。
    standbyLoadBalance 负载均衡连接最优的备节点,驱动会先判别节点角色,再识别出连接数最少的备节点进行连接。若连接数相同,则按优先级顺序连接靠前的节点。

Note:

  • 在共享集群/分布式集群部署中,若已配置SCANVIP,直接使用数据库服务端提供的高可用能力即可,无需额外配置多地址连接。
  • 配置多地址连接共享集群/分布式集群时:
    • 若为单集群部署,驱动会将其所有实例视作主节点。
    • 在主备集群部署中,驱动会将主集群的所有实例视作主节点、备集群的所有实例视作备节点。
  • 多组监听地址连接的故障切换效率低于多个监听地址连接,分组主要用于尽可能保障仅通过第一组地址建立数据库连接,请根据实际需求选择是否分组。
pdf-btn 下载文档 copy-btn 复制链接
edit-icon
反馈
coperate-icon
coperate
合作
communication-icon
communicate
交流