构造 DBConnection

DolphinDB Java API 通过构造与 DolphinDB 服务端的连接对象来完成各种交互操作。本文将介绍构造连接 DBConnection 的两种方法及其参数和使用示例。

无参构造

可以通过如下示例代码构造一个 DBConnection 简单对象。

此时创建的连接使用默认规则,即:asynchronousTaskuseSSLcompress 值默认为 false。(参数详情请参考本文有参构造小节)

DBConnection dbConnection = new DBConnection();

有参构造

以下为创建一个 DBConnection 的完整示例。

DBConnection(boolean asynchronousTask, boolean useSSL, boolean compress, boolean usePython, boolean isUrgent, SqlStdEnum sqlStd)

参数介绍

asynchronousTask boolean 类型,表示是否支持异步任务,可选参数,默认值为 false。开启异步的情况下(asynchronousTask = true),没有返回值。该功能适用于异步写入数据。

useSSL boolean 类型,表示是否使用 SSL 连接,可选参数,默认值为 false ,详情可参考集群通信与连接

注意:若要开启 SSL 连接(useSSL = true),服务器端的配置文件(如果是单节点则为 dolphindb.cfg 文件;如果是集群则为 cluster.cfg 文件)须同时配置功能参数 enableHTTPS=true。

compress boolean 类型,表示是否对数据进行压缩,可选参数,默认值为 false。

usePython boolean 类型,表示是否开启 Python 解析,可选参数,默认值为 false。注意,该功能 server 暂未支持,敬请期待。

isUrgent boolean 类型,表示是否为紧急任务,可选参数,默认值为 false。若设定 isUrgent=ture,即使系统繁忙,该任务仍会通过紧急通道得以执行。

sqlStd 枚举类型,表示 SQL 标准语法解析,可选参数。1.30.22.1 版本起支持。现支持三种解析方式:DolphinDB, Oracle, MySQL,默认为 DolphinDB 。用户可通过填入SqlStdEnum.DolphinDB 等枚举来指定该参数。注意,该功能对应的 server 版本自 2.00.10、1.30.22 起开始支持。

使用示例

如下构造一个开启异步任务和 SSL 连接、不开启压缩和 python 解析,同时指定使用 Oracle 语法解析的连接。

DBConnection conn = new DBConnection(true, true, false,false,SqlStdEnum.Oracle);

方法汇总

DBConnection 类提供如下主要方法:

方法名详情
DBConnection([asynchronousTask, useSSL, compress, usePython, isUrgent, sqlStd])构造对象
connect(host, port, [timeout, username, password, initialScript, enableHighAvailability, highAvailabilitySites, reconnect, enableLoadBalance]))将会话连接到 DolphinDB 服务器
login(username,password,enableEncryption)登录服务器
run(script)/tryRun(script)将脚本在 DolphinDB 服务器运行
run(functionName,args)/tryRun(functionName,args)调用 DolphinDB 服务器上的函数
upload(variableObjectMap)将本地数据对象上传到 DolphinDB 服务器
setLoadBalance(loadBalance)设置在开启高可用的情况下,是否开启负载均衡
isBusy()判断当前会话是否正忙
close()关闭当前会话。若当前会话不再使用,会自动被释放,但存在释放延时,可以调用 close() 立即关闭会话。否则可能出现因连接数过多,导致其它会话无法连接服务器的问题。