SQL指令
动态向 VDN 发送指令,设置和数据库相关的辅助属性;V2019.1.1.1 之后支持。
指令格式
语法 VesnCommand Options {属性;}
通过 EXECUTE IMMEDIATE 调用该语句
EXECUTE IMMEDIATE "VesnCommand Options {属性 1=属性值;}{属性值 2=属性值;}"属性
MsgHWN&MsgEvent
- 示例:
MsgHWN=12345678;MsgEvent=1024;
指定用来接收数据库驱动传来的消息的 VDN 组件的 Handle 及事件 EventID,同连接参数中的[同名参数]
直接调用 uo_vdncore 组件的 getDBParm()函数可以获取这个字符串,该函数直接返回字符串:
MsgHwn=....;MsgEvent=1024;
将其连接在指令中或附加在连接串的 PROVIDERSTRING 中即可。
当 VDN 驱动发送消息给客户端时在 VDN 组件的 ResponseMsg 事件中就可以获取该消息;
该消息为异步消息,非安全消息。
目前仅用来接收心跳包检测到连接异常断开、连接恢复的消息。
SysUser
- 示例:
SysUser=123/张三;
指定数据库连接在[在线管理]里的用户 ID 及名称,格式:SysUser=用户 ID/用户名
V2023.2.1.1 版本之后支持
Remark
- 示例: Remark=abc
指定数据库连接在[在线管理]里的备注信息
V2023.2.1.1 版本之后支持
ReconSQL
- 示例: ReconSQL=base64:....;
在数据库重连后系统自动执行的 SQL 语句,用来进行一些相关的操作,例如同步 SPID。
可以使单独的 SQL 语句,也可以是一个存储过程,同连接参数中的[同名参数]。
SQLSERVER 存储过程格式:
execute 存储过程名 @参数 1 ='值' , @参数 2 ='值';
execute P_USER @ID ='123' , @NAME ='张三';ORACLE 存储过程格式:call 存储过程名('参数值 1','参数值 2')
call P_USER('123' , '张三')如果 SQL 语句中包含引号、逗号这些特殊字符,可以给整个语句使用 base64 编码后传递,
格式为: ReconSQL=base64:编码后的 SQL
ReconSQL="base64:"+uo_vdn.base64Encode("call P_USER('9999' , '张三')") +";"V2023.2.1.1 版本之后支持
AutoCommit
- 示例: AutoCommit;
如果在数据库连接之后或者中间动态设置了 AutoCommit=true,那么需要修改这个属性,告诉服务器端重连后不需要开始一个新事物。
这个属性不需要属性值设置值,调用格式:
EXECUTE IMMEDIATE "VesnCommand Options AutoCommit;"只有设置 AutoCommit=true 之后调用即可。连接之前就设置了 AutoCommit 之后没有变化则不需要设置。
V2023.2.1.1 版本之后支持
示例

String ls_sql
ls_sql = "VesnCommand Options "+uo_vdn.getdbparm()
EXECUTE IMMEDIATE :ls_sql;