OPEN3000商用库接口说明.docx

上传人:罗晋 文档编号:11661740 上传时间:2021-08-28 格式:DOCX 页数:40 大小:97.09KB
返回 下载 相关 举报
OPEN3000商用库接口说明.docx_第1页
第1页 / 共40页
OPEN3000商用库接口说明.docx_第2页
第2页 / 共40页
OPEN3000商用库接口说明.docx_第3页
第3页 / 共40页
OPEN3000商用库接口说明.docx_第4页
第4页 / 共40页
OPEN3000商用库接口说明.docx_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《OPEN3000商用库接口说明.docx》由会员分享,可在线阅读,更多相关《OPEN3000商用库接口说明.docx(40页珍藏版)》请在三一文库上搜索。

1、精品商用库接口说明一 QuerySample 查询类query_sample_service_interface 类建立QuerySample客户端时必须构造个query_sample_service_interface 类的对象,由该类的接口负责与服务端通信。该类主要提供一系列的接口函数完成采样数据的查询/统计功能。包含头文件: db_com/query_sample_service_interface.h连接动态库:libquerysampleclient.so1 .构造函数query_sample_service_interface ( int app_id, int policy, c

2、onst int port_no,char *server_object, const vector &props_vec, short context = 0,char* orb_name = NULL );接口参数输入/输出参数(返回值)说明备注int app_idIn应用号一般为1,代表由系int policyIn策略统管理指定主机int port_noIn端口号char*InQuarySample 服务端进程server_object名vector &props_vec缺省为0,表示当前short contextIn态号态缺省为NULLchar* orb_name Inquery_sa

3、mple_service_interface(int app_id, char * specify_host_name, const intspecify_port_no, char * specify_server_object, vector &props_vec,short context = 0,char * orb_name= NULL);接口参数输入/输出int app_idInchar*specify_host_namIneintIn specify_port_nochar*specify_server_obj Inectvector &props_vecshort contex

4、tIn参数(返回值)说明应用号指定主机名指定端口号指定 QuarySample进程名ORB性能参数管理态号服务端备注缺省为0,表示当前态精品- 可编辑 -缺省为NULLchar* orb_name In2 .以同步方式查询采样数据:GetQuerySampleResultshort GetQuerySampleResult(const TQuerySampleInParm& in_para,TQuerySampleOutParm_out out_para);接口参数输入/输出参数(返回值)说明备注TQuerySamplelnPIn查询条件arm& in_paraTQuerySampleOutP

5、arm_outOut查询结果out_para0:成功-1 :失败,但服务返回值Out端接口调用成功-1 :服务端接口调用失败注:指定超时时间参数时,如果出现指定时间无效情况时,请在构造函数中指定orb_name(该参数默认为空)即可。例如下面程序片断指定调用query_sample_server 时等待50秒后认为调用超时。orb_name指定为alias_query_sample_server 如果不指定该参数(orb_name )可能导致props_all参数无效使用方法举例/初始化系统管理主机,设置ORB性能参数管理vector props_all(3);strcpy(props_all

6、0.prop_name , ooc.orb.trace.connections);strcpy(props_all0.prop_value, 3);strcpy(props_all1.prop_name , ooc.orb.policy.connect_timeout);strcpy(props_all1.prop_value, 2000);strcpy(props_all2.prop_name , ooc.orb.policy.request_timeout);strcpy(props_all2.prop_value, 50000); / 超时时间指定为 50 秒query_sample_s

7、ervice_interface*sample_client=newquery_sample_service_interface( AP_DB_SERVICE, 1, PORT_DB_QUERY_SAMPLE,query_sample_server,props_all,AC_REALTIME_NO,alias_query_sample_server); / 构造一个 query_sample 客户端TQuerySampleInParm in_para;TQuerySampleOutParm_var out_para;int start_time_sec,end_time_sec;char *s

8、tart_time = 2004-3-1 0:0:0;ConvertDateStringToSecond(start_time,start_time_sec);/ 把时间字符串转换/ 成 int 型,单位为秒,需自己实现接口 ConvertDateStringToSecondchar *end_time = 2004-3-1 12:00:0;ConvertDateStringToSecond(end_time,end_time_sec);/ 把时间字符串转换/ 成 int 型,单位为秒,需自己实现接口 ConvertDateStringToSecond/为in_para赋初值in_para.s

9、eq_sample_info.length;in_para.seq_sample_info0.app_no = AP_SCADA;应用号in_para.seq_sample_info0.start_time = start_time_sec;/ 起始时间in_para.seq_sample_info0.end_time = end_time_sec;/终止时间in_para.seq_sample_info0.is_yc = QUERY_YC_SAMPLE;/ 遥测采样in_para.seq_sample_info0.is_real = QUERY_HS_SAMPLE; 历史采样in_para.

10、seq_sample_info0.time_pace = 900;时间步长,单位为秒in_para.seq_sample_info0.sample_mode = QUERY_MODE_START;in_para.seq_sample_info0.key_num = 1;in_para.seq_sample_info0.seq_keyinfo.length;in_para.seq_sample_info0.seq_keyinfo0.keyid.record_id = 220000016;in_para.seq_sampleJnfo0.seq_keyinfo0.keyid.column_id =

11、40;in_para.seq_sample_info0.seq_keyinfo0.max_result =QUERY_ALL_ROWS;short ret_code = sample_client - GetQuerySampleResult(in_para, out_para);成功则返回03 .以同步方式查询采样数据统计值:GetStatisticsSampleResultshort GetStatisticsSampleResult(const TStatisticsSampleInParm& in_para,TStatisticsSampleOutParm_out out_para);

12、接口参数输入/输出 参数(返回值)说明备注精品TStatisticsSampleInParm& in_paraIn查询条件TStatisticsSampleOutParm_outout_paraOut查询结果0:成功-1 :失败,但服务返回值Out端接口调用成功-1 :服务端接口调用失败使用方法举例/初始化系统管理主机,设置 ORB性能参数管理vector props_all(3);strcpy(props_all0.prop_name , ooc.orb.trace.connections);strcpy(props_all0.prop_value, 3);strcpy(props_all1

13、.prop_name , ooc.orb.policy.connect_timeout);strcpy(props_all1.prop_value, 2000);strcpy(props_all2.prop_name , ooc.orb.policy.request_timeout);strcpy(props_all2.prop_value, 50000);query_sample_service_interface*query_sample_service_interface(PORT_DB_QUERY_SAMPLE,sample_client=newAP_DB_SERVICE,1,quer

14、y_sample_server,props_all,AC_REALTIME_NO, alias_query_sample_server);/ 构造一个 query_sample 客户端TStatisticsSampleInParm in_para;TStatisticsSampleOutParm_var out_para;int start_time_sec2,end_time_sec2;char *start_time2 = 2004-9-3 0:00:0;ConvertDateStringToSecond(start_time2,start_time_sec2); /把时间字符串转换/ 成

15、 int 型,单位为秒,需自己实现接口 ConvertDateStringToSecondchar *end_time2 = 2004-9-4 1:0:0;ConvertDateStringToSecond(end_time2,end_time_sec2); /把时间字符串转换/ 成 int 型,单位为秒,需自己实现接口 ConvertDateStringToSecond/ 为 in_para 赋初值in_para.seq_statistics_info.length(1);in_para.seq_statistics_info0.app_no = AP_SCADA;/ 应用号in_para.

16、seq_statistics_info0.start_time = start_time_sec2;/ 起始时间in_para.seq_statistics_info0.end_time = end_time_sec2;/ 终止时间in_para.seq_statistics_info0.statistics_policy = STA_POLICY_HOUR;/ 统计策略,小时统计,另外还有STA_POLICY_NORMAL 实时统 / 计STA_POLICY_DAY 日统计in_para.seq_statistics_info0.is_real = QUERY_HS_SAMPLE; / 历史

17、采样,另/ 外还有 QUERY_RS_SAMPLE 实时采样- 可编辑 -精品in_para.seq_statistics_info0.time_pace = 300;/ 时间步长in_para.seq_statistics_info0.statistics_mode = STA_MODE_LOADRATE;/ 统计模式为统计负荷率,此外有STA_MODE_MAX 统计最大值及其发/ 生时间, STA_MODE_MIN 统计最小值及其发生时间,/STA_MODE_AVERAGE 统计平均值in_para.seq_statistics_info0.except_limit = STA_WITH_

18、LIMIT;/ 包含越限值统计, STA_WITHOUT_LIMIT 不包含越限值统计in_para.seq_statistics_info0.is_abs = STA_WITH_ABS;/ 按绝对值统计, STA_WITHOUT_ABS 按实际值统计in_para.seq_statistics_info0.key_num = 2;in_para.seq_statistics_info0.seq_statistics_keyinfo.length(2);in_para.seq_statistics_info0.seq_statistics_keyinfo0.keyid.record_id230

19、001557;in_para.seq_statistics_info0.seq_statistics_keyinfo0.keyid.column_id = 20;in_para.seq_statistics_info0.seq_statistics_keyinfo1.keyid.record_id242000469;in_para.seq_statistics_info0.seq_statistics_keyinfo1.keyid.column_id = 20;short ret_code = sample_client - GetStatisticsSampleResult(in_para,

20、 out_para);/ 成功则返回 04 .以同步方式查询离散点采样:GetDiscreteSampleResultshort GetDiscreteSampleResult(const TDiscreteSampleInParm& in_para,TDiscreteSampleOutParm_out out_para);接口参数输入/输出参数(返回值)说明备注TDiscreteSampleInIn查询条件Parm& in_paraTDiscreteSampleOutParm_outOut查询结果out_para0:成功-1 :失败,但服务返回值Out端接口调用成功-1 :服务端接口调用失败

21、使用方法举例/初始化系统管理主机,设置 ORB性能参数管理vector props_all(3);/同前接口 2、3query_sample_service_interface*sample_client=newquery_sample_service_interface(AP_DB_SERVICE,1,PORT_DB_QUERY_SAMPLE,query_sample_server,props_all,AC_REALTIME_NO, alias_query_sample_server); /构造一个 query_sample 客户端TDiscreteSampleInParm in_para;

22、TDiscreteSampleOutParm_var out_para;/为in_para赋初值,实际操作和前面两个接口类似,这里不再描述short ret_code = sample_client - GetDiscreteSampleResult(in_para, out_para);成功则返回05.以同步方式查询触发式采样:GetTriggerSampleResultshort GetTriggerSampleResult(const TTriggerSampleInParm& in_para,TTriggerSampleOutParm_out out_para);接口参数输入/输出 参

23、数(返回值)说明备注TTriggerSampleInIn查询条件Parm& in_paraTTriggerSampleOutParm_outOut查询结果out_para0:成功-1 :失败,但服务返回值Out端接口调用成功-1 :服务端接口调用失败使用方法举例/初始化系统管理主机,设置ORB性能参数管理vector props_all(3);/同前接口 2、3query_sample_service_interface*sample_clientnewquery_sample_service_interface(AP_DB_SERVICE,1,PORT_DB_QUERY_SAMPLE,que

24、ry_sample_server,props_all,- 可编辑 -AC_REALTIME_NO); 构造一个 query_sample 客户端TTriggerSampleInParm in_para;TTriggerSampleOutParm_var out_para;/为in_para赋初值short ret_code = sample_client - GetTriggerSampleResult(in_para, out_para);成功则返回06.以同步方式查询触发式采样统计:GetTriggerStatisticsResultshort GetTriggerStatisticsRe

25、sult(const TTriggerStatisticsInParm& in_para,TTriggerStatisticsOutParm_out out_para);接口参数输入/输出 参数(返回值)说明备注查询条件查询结果TTriggerStatisticsI In nParm & in_paraTTriggerStatistics OutOutParm_outout_para“皿,。utI二二:端接口调用失败使用方法举例/初始化系统管理主机,设置ORB性能参数管理vector props_all(3);/同前接口 2、3query_sample_service_interface*sa

26、mple_clientnewquery_sample_service_interface(AP_DB_SERVICE,1,PORT_DB_QUERY_SAMPLE,query_sample_server,props_all,AC_REALTIME_NO, alias_query_sample_server);/构造一个 query_sample 客户端TTriggerStatisticsInParm in_para;TTriggerStatisticsOutParm_var out_para;/为in_para赋初值short ret_code = sample_client - GetTri

27、ggerStatisticsResult (in_para, out_para);成功则返回07.以同步方式查询采样数据(数据来源为统计值):GetQuerySampleResultFromStatshortGetQuerySampleResultFromStat(constTQuerySampleFromStatInParm&in_para,TQuerySampleFromStatOutParm_out out_para);接口参数输入/输出参数(返回值)说明备注TQuerySampleFromStatInParm&in_paraTQuerySampleFroIn查询条件mStatOutPa

28、rm_out out_paraOut查询结果0:成功-1 :失败,但服务返回值Out端接口调用成功-1 :服务端接口调用失败使用方法举例/初始化系统管理主机,设置ORB性能参数管理vector props_all(3);/同前接口 2、3query_sample_service_interface*sample_clientnewquery_sample_service_interface ( AP_DB_SERVICE, 1, PORT_DB_QUERY_SAMPLE,query_sample_server,props_all,AC_REALTIME_NO,alias_query_sampl

29、e_server);/构造个 query_sample 客户端TQuerySampleFromStatInParm in_para;TQuerySampleFromStatOutParm_var out_para;/为in_para赋初值short ret codesample_client - GetQuerySampleResultFromStat(in_para,out_para);成功则返回08. 异步查询采样结果: PutAsynQuerySampleResultGetAsynQuerySampleResultshort PutAsynQuerySampleResult(const

30、TQuerySampleInParm& in_para);接口参数输入/输出参数(返回值)说明备注InTQuerySamplelnP查询条件arm & in_para0:成功-1 :失败,但服务返回值Out端接口调用成功-1 :服务端接口调用失败short GetAsynQuerySampleResult(TQuerySampleOutParm_out out_para);接口参数输入/输出 参数(返回值)说明备注TQuerySampleOutParm_outOut查询结果out_para0:成功-1 :失败,但服务返回值Out端接口调用成功-1 :服务端接口调用失败使用方法举例/初始化系统管

31、理主机,设置ORB性能参数管理vector props_all(3);/同前接口 2、3query_sample_service_interface*sample_client=newquery_sample_service_interface( AP_DB_SERVICE, 1, PORT_DB_QUERY_SAMPLE, query_sample_server, props_all, AC_REALTIME_NO, alias_query_sample_server);/构造个 query_sample 客户端TQuerySampleInParm in_para;TQuerySampleO

32、utParm_var out_para;/为in_para赋初值 short ret_code = sample_client - PutAsynQuerySampleResult(in_para);if(ret_code = 0)ret_code = -1;while (retcode GetAsynQuerySampleResult(out_para);usleep(1000000); 一直调用GetAsynQuerySampleResult知道取成功为止成功则返回0这里给出的只是一个测试用的例子,一般应用程序在调用GetAsynQuerySampleResult 接口时应该设一个定时器,

33、每隔一段时间调用一次GetAsynQuerySampleResult 接口,直到成功为止,同时程序还要继续作其他的事情,这 样才能真正实现异步。9. 异步查询采样数据统计值:PutAsynStatisticsSampleResult&GetAsynStatisticsSampleResultshort PutAsynStatisticsSampleResult(const TStatisticsSampleInParm& in_para);接口参数输入/输出 参数(返回值)说明备注TStatisticsSampleIIn查询条件nParm & in_para0:成功-1 :失败,但服务返回值O

34、ut端接口调用成功 -1 :服务端接口调用失败short GetAsynStatisticsSampleResult(TStatisticsSampleOutParm_out out_para);接口参数输入/输出参数(返回值)说明备注TStatisticsSampleOutParm_outOut查询结果out_para0:成功-1 :失败,但服务返回值Out端接口调用成功-1 :服务端接口调用失败10. 异步离散采样查询: PutAsynDiscreteSampleResult&GetAsynDiscreteSampleResultshort PutAsynDiscreteSampleRes

35、ult(const TDiscreteSampleInParm&in_para);接口参数输入/输出参数(返回值)说明备注TDiscreteSampleInIn查询条件Parm & in_para0:成功-1 :失败,但服务返回值Out端接口调用成功-1 :服务端接口调用失败short GetAsynDiscreteSampleResult(TDiscreteSampleOutParm_out out_para);接口参数输入/输出参数(返回值)说明备注TDiscreteSampleOutParm_outOut查询结果out_para0:成功-1 :失败,但服务返回值Out端接口调用成功-1

36、:服务端接口调用失败11 .异步触发式采样查询: PutAsynTriggerSampleResult&GetAsynTriggerSampleResultshort PutAsynTriggerSampleResult(const TTriggerSampleInParm& in_para);接口参数输入/输出参数(返回值)说明备注TTriggerSampleInParm & in_paraIn查询条件0:成功-1 :失败,但服务返回值Out端接口调用成功-1 :服务端接口调用失败short GetAsynTriggerSampleResult(TTriggerSampleOutParm_o

37、ut out_para);接口参数输入/输出 参数(返回值)说明备注TTriggerSampleOOut查询结果utParm_outout_para0:成功-1 :失败,但服务返回值Out端接口调用成功-1 :服务端接口调用失败接口 9、10、11的使用方法和接口 8类似,不再举例。二 Sql_sp直接执行SQL语句查询或执行存储过程sql_sp_client_base 类建立Sql_sp客户端时必须构造一个sql_sp_client_base 类的对象,由该类的接口负责 与服务端通信。该类主要提供一系列的接口函数完成对商用数据库的直接访问。包含头文件:db_com/sql_sp_client

38、_base.h连接动态库:libsqlspclient.so1 .构造函数sql_sp_client_base ( int app_id, char * specify_host_name, int specify_port, char* specify_server_object, vector &props_vec, int context, char *orb_name = NULL);接口参数输入/输出参数(返回值)说明备注int app_idIn应用号Inchar*指定主机名specify_host_namint specify_portInchar*specify_server_o

39、bjInect constvector &props_vecshort contextInchar* orb_nameIn指定端口号指定Sql_sp服务端进程名ORB性能参数管理缺省为0,表示当前 态号态缺省为NULLsql_sp_client_base(int app_id, int policy, int sys_port,char * server_object, vector &props_vec, int context, char * orb_name = NULL);接口参数输入/输出参数(返回值)说明备注int app_idIn应用号一般为1,代表由系int policyIn策

40、略统管理指定主机int sys_portIn端口号char*InSql_sp服务端进程名server_objectvector &props_vecshort context缺省为0,表示当前In态号态char* orb name缺省为NULL In2 .执行SQL语句并得到结果:SelectSqlshort SelectSql(const char* sql_str,二CORBA:ULong max_result_num,const SEQOutDataTypeStru& out_data_type, :TSelectResultStru_out out_select_result, :SE

41、QDBErrorStru_out out_db_error);接口参数输入/输出参数(返回值)说明备注char* sql_strInSql语句一般为CORBA:ULongIn检索结果的最大个数QUERY_ALL_RESULmax_result_numT,检索所有结果SEQOutDataTypeS在查询语句中 SELECT子句tru&Out的位置和返回参数的数据out_data_type回TSelectResultStru_outOut查询的结果out_select_resultSEQDBErrorStru_oOut出错信息结构ut out db error0:成功-1 :失败,但服务返回值Out端接口调用成功-1 :服务端接口调用失败使用方法举例/初始化系统管理主机,设置 ORB性能参数管理vector props_all(3);strcpy(props_all0.prop_name , ooc.orb.trace.connections);strcpy(props_all0.prop_value, 3);strcpy(props_all1.prop_name , ooc.orb.policy.connect_timeout);strcpy(props_all1.prop_value, 2000);/请求等待时间300秒,主要考虑到大量的LOB字段执行的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1