#JDBC配置参数
本文档介绍YashanDB JDBC驱动的配置参数。
Note
以下参数均为JDBC连接URL参数,可在连接字符串中通过
key=value形式配置。
首字母索引
# allowMultiStmt
参数类型:字符串
默认值:FALSE
取值范围/格式:[TRUE|FALSE]
参数说明:是否开启支持多SQL。TRUE表示开启,FALSE表示不开启,开启后可同时传入多条SQL语句,SQL语句间用分号隔开,最后一条SQL语句末尾的分号可选。传入的SQL语句将按照先后顺序依次执行,执行出错时终止并返回报错,执行成功后JDBC接口始终只返回第一条SQL语句的执行结果。目前仅支持执行不带参数的SQL语句,且执行中不允许包含autoGeneratedKey。
# allowSemicolonTerminator
参数类型:字符串
默认值:FALSE
取值范围/格式:[TRUE|FALSE]
参数说明:是否允许SQL语句以分号结尾。TRUE表示允许,FALSE表示不允许。
# autoCommit
参数类型:字符串
默认值:TRUE
取值范围/格式:[TRUE|FALSE]
参数说明:是否开启自动提交事务。TRUE表示开启,FALSE表示不开启。在mysql模式下,是否自动提交事务还受数据库服务端系统变量AUTOCOMMIT控制,若服务端未开启自动提交但客户端开启,最终表现仍为不自动提交。
# cancelSignalTimeout
参数类型:数值
默认值:10
取值范围/格式:单位为秒,正整数
参数说明:取消命令的超时时间。用于发送取消命令时的超时设置。
# clientPrepare
参数类型:字符串
默认值:FALSE
取值范围/格式:[TRUE|FALSE]
参数说明:是否启用客户端预处理。FALSE表示先发送预编译SQL,再发送绑定参数。TRUE表示将预编译SQL和绑定参数一起发送给服务端。
# compatVector
参数类型:字符串
默认值:yashan
取值范围/格式:[mysql|yashan]
参数说明:兼容模式设置。设置为mysql时,用户名会区分大小写,DatabaseMetaData的getDatabaseProductName接口的返回值会变成mysql,设置为yashan时,用户名不区分大小写,返回值为YashanDB。
# convertNcharLiterals
参数类型:字符串
默认值:TRUE
取值范围/格式:[TRUE|FALSE]
参数说明:是否转换NCHAR字面量。TRUE表示开启,FALSE表示不开启。
# defaultRowFetchSize
参数类型:数值
默认值:10
取值范围/格式:正整数
参数说明:每次获取行数。每次从数据库获取的行数,用于ResultSet迭代获取更多行时使用。
# connectTimeout
参数类型:数值
默认值:10
取值范围/格式:单位为秒,正整数
参数说明:建立连接时,创建socket连接的超时时间,单位为秒。不配置时默认为10秒,通过info属性或者URL配置。
# failover
参数类型:字符串
默认值:OFF
取值范围/格式:[ON|OFF]
参数说明:是否开启透明应用故障转移(TAF)。ON表示开启TAF,当故障发生时应用程序会自动切换到已配置的其他数据库节点。OFF表示关闭TAF,且暂不支持在OFF状态下自动重连当前数据库节点。
# failoverDelay
参数类型:数值
默认值:1
取值范围/格式:单位为秒,正整数
参数说明:重试间隔时间。故障转移失败后,等待下一次重试的间隔时间。
# failoverMethod
参数类型:字符串
默认值:BASIC
取值范围/格式:BASIC
参数说明:故障转移的方式,该值将决定从主节点到备节点的故障转移速度。BASIC表示在故障转移时再建立连接。
# failoverRetries
参数类型:数值
默认值:5
取值范围/格式:正整数
参数说明:重试次数。故障转移失败后的重试次数。
# failoverType
参数类型:字符串
默认值:NONE
取值范围/格式:[NONE|SESSION|SELECT]
参数说明:故障转移的类型。NONE表示不使用故障转移。SESSION表示发生故障后重连并重置Statement句柄。SELECT表示在SESSION类型的基础上,切换连接后重新执行因故障而执行出错的SELECT语句(此时,SELECT语句不能为带LOB类型的绑定参数的查询语句),但不支持再对切换前已获取的对象进行二次操作。
# heartbeatSwitch
参数类型:字符串
默认值:ON
取值范围/格式:[ON|OFF]
参数说明:心跳连接开关。ON表示开启心跳连接,OFF表示关闭。开启心跳连接能够使得程序更快的检测到正在使用的连接已经异常,从而跳出当前等待返回数据的状态,触发后续操作(例如故障恢复)。
# heartbeatSchedulePeriod
参数类型:数值
默认值:20
取值范围/格式:单位为秒,正整数
参数说明:心跳连接的保活间隔时间。发送心跳探测的间隔时间。
# heartbeatSocketTimeout
参数类型:数值
默认值:60
取值范围/格式:单位为秒,正整数
参数说明:心跳连接的保活超时时间。在发送心跳探测后,等待响应的超时时间。
# logServerErrorDetail
参数类型:字符串
默认值:TRUE
取值范围/格式:[TRUE|FALSE]
参数说明:是否在异常消息中包含完整的服务器错误详情。TRUE表示包含,FALSE表示只包含错误本身。
# loggerFile
参数类型:字符串
默认值:无
取值范围/格式:字符串
参数说明:日志输出文件名。指定JDBC驱动日志输出的文件路径。
# loggerLevel
参数类型:字符串
默认值:无
取值范围/格式:[OFF|DEBUG|TRACE]
参数说明:日志级别。控制JDBC驱动日志的输出详细程度。
# logUnclosedConnections
参数类型:字符串
默认值:FALSE
取值范围/格式:[TRUE|FALSE]
参数说明:是否记录未显式关闭的连接。当未被显式关闭的连接被垃圾回收时,是否记录打开连接时的堆栈跟踪以追踪泄漏源。
# loginTimeout
参数类型:数值
默认值:300
取值范围/格式:单位为秒,正整数
参数说明:登录认证超时时间。创建socket成功后,进行登录认证时,客户端等待服务端返回数据的超时时间。
# mapDateToTimestamp
参数类型:字符串
默认值:FALSE
取值范围/格式:[TRUE|FALSE]
参数说明:日期转时间类型开关。TRUE表示开启,FALSE表示不开启。开启后,DATE日期类型列的部分接口将返回Timestamp类型。影响接口包括:ResultSet.getString(int columnIndex)将返回Timestamp形式的string;ResultSet.getObject(int columnIndex)将返回Timestamp类;ResultSetMetaData.getColumnClassName(int column)将返回Timestamp.class。
# netTimeoutForStreamingResults
参数类型:数值
默认值:600
取值范围/格式:单位为秒,正整数
参数说明:流式结果的网络超时时间。
# poolTimeout
参数类型:数值
默认值:300
取值范围/格式:单位为秒,正整数。仅可搭配primary或standby类型使用。
参数说明:多地址连接超时时间。在整个连接过程中,即便快速遍历完所有地址且所有地址均未连接成功,系统仍会等待poolTimeout时长后才提示连接失败。
# productName
参数类型:字符串
默认值:YashanDB
取值范围/格式:字符串
参数说明:(隐藏参数)指定数据库产品名称标识。省略时默认识别为YashanDB,若指定则可绕过自动识别强制按指定值生效。
# readOnlyResultSetInsensitive
参数类型:字符串
默认值:FALSE
取值范围/格式:[TRUE|FALSE]
参数说明:所有只读ResultSet是否为不敏感类型。TRUE表示不敏感,FALSE表示敏感。
# receiveBufferSize
参数类型:数值
默认值:-1
取值范围/格式:整数,-1表示使用系统默认值
参数说明:Socket读取缓冲区大小。用于设置TCP接收缓冲区的大小。
# sendBufferSize
参数类型:数值
默认值:-1
取值范围/格式:整数,-1表示使用系统默认值
参数说明:Socket写入缓冲区大小。用于设置TCP发送缓冲区的大小。
# serverMode
参数类型:字符串
默认值:shared
取值范围/格式:[shared|dedicated]
参数说明:指定连接模式。shared表示连接共享服务器模式,即客户端连接允许采用共享线程池处理(实际是否采用共享线程池,全凭YashanDB服务端配置参数MAX_REACTOR_CHANNELS决定)。dedicated表示连接专用服务器模式,即每个客户端连接请求必须单独分配一个线程(不受YashanDB服务端相关配置影响)。
# socketTimeout
参数类型:数值
默认值:0
取值范围/格式:单位为秒,正整数。0表示一直等待。
参数说明:TCP通信超时时间。获取connection后,TCP通信过程中,客户端等待服务端返回数据的超时时间。
# SQL语句执行超时时间
参数类型:数值
默认值:0
取值范围/格式:单位为秒,正整数。0表示不限制超时时间。
参数说明:通过statement接口setQueryTimeout配置,不配置时默认无超时时间,一直等待。
# sslRootCer
参数类型:字符串
默认值:无
取值范围/格式:证书文件路径,可以为绝对路径或相对路径
参数说明:SSL加密通信根证书的标准路径。若服务端开启了SSL加密通信,JDBC必须配置此参数。
# tcpKeepAlive
参数类型:字符串
默认值:TRUE
取值范围/格式:[TRUE|FALSE]
参数说明:是否启用TCP保活。TRUE表示启用,FALSE表示禁用。
# tlcpCacertFile
参数类型:字符串
默认值:无
取值范围/格式:证书文件路径,可以为绝对路径或相对路径
参数说明:TLCP加密通信根证书的标准路径。若服务端开启了TLCP加密通信,JDBC必须配置此参数。
# tlcpCertFile
参数类型:字符串
默认值:无
取值范围/格式:证书文件路径,可以为绝对路径或相对路径
参数说明:TLCP加密通信客户端证书的标准路径。若服务端开启了TLCP加密通信,JDBC必须配置此参数。
# tlcpClientKeyFile
参数类型:字符串
默认值:无
取值范围/格式:密钥文件路径,可以为绝对路径或相对路径
参数说明:TLCP加密通信客户端密钥文件的标准路径。若服务端开启了TLCP加密通信,JDBC必须配置此参数。
# tlcpClientKeyPass
参数类型:字符串
默认值:无
取值范围/格式:密码字符串
参数说明:TLCP加密通信客户端密钥的密码。若服务端开启了TLCP加密通信,JDBC必须配置此参数。
# useNativeType
参数类型:字符串
默认值:TRUE
取值范围/格式:[TRUE|FALSE]
参数说明:是否使用原生类型。TRUE表示使用原生类型,FALSE表示不使用。
# ukeyName
参数类型:字符串
默认值:无
取值范围/格式:[DBA|SECURITY_ADMIN|AUDIT_ADMIN]
参数说明:UKEY设备名。若登录的用户角色是DBA,则要求UKEY的设备名为DBA;若登录的用户角色是安全管理员,则要求UKEY的设备名为SECURITY_ADMIN;若登录的用户角色是审计员,则要求UKEY的设备名为AUDIT_ADMIN。设备名要求和用户的角色名保持对应。若服务端开启了UKEY安全登录,JDBC必须配置此参数。
# ukeyPin
参数类型:字符串
默认值:无
取值范围/格式:小于64位的密码值
参数说明:UKEY的用户密码。若服务端开启了UKEY安全登录,JDBC必须配置此参数。

