当前位置: 首页 > news >正文

vs2017做的网站余姚网站制作公司

vs2017做的网站,余姚网站制作公司,网站设计毕业设计任务书,百度一键优化序言 本文分享一个通过数据库#xff08;ORACLE#xff09;的存储过程#xff0c;遵循“对修改封闭#xff0c;对增加开放”的开闭原则#xff0c;实现的可扩展性极强的灵活接口方案。 背景 本人从事离散型MES系统的开发工作#xff0c;近期负责了一个PCBA#xff08;电…序言 本文分享一个通过数据库ORACLE的存储过程遵循“对修改封闭对增加开放”的开闭原则实现的可扩展性极强的灵活接口方案。 背景 本人从事离散型MES系统的开发工作近期负责了一个PCBA电子、手机行业的MES系统二开工作。PCBA行业使用ATE工具自动测试工具进行写号、查号、置标志位等工作写号查号等相关数据需要与MES系统进行数据交互同时MES系统也需要管控ATE工具的作业流程。如查号必须在写号后没有写号的工具不能进行查号等流程管控。由于ATE工具的测试不须人员参与所以MES系统需要开发相关接口给ATE工具端调用进行数据交互和流程管控等工作。 MES系统前期已有途程检查分配IMEI、MAC、BT数据过站等相关基础接口可供ATE工具调用基本能满足要求。但在面对某些客户定制化的需求时如上传软件版本、记录测试内容就必须在原有接口的基础上增加或修改程序然后把C#编写的dll封装成COM组件因为ATE工具使用C编写的更新文档再通知ATE工具编写人员重新连入新版本进行编写和调试最后再更新现有工具的所有版本。别看流程描述起来比较简单但实际操作起来涉及到沟通、部门协作等问题非常繁琐累人。 基于上述原因笔者思考是否有一个方案能够灵活面对客户的定制化需求又不需涉及到太多变更特别是重新编译、重新连入和更新等操作。有志者事竟成经过一番研究与思考后笔者决定采用“存储过程”来进行实现。 整体方案 方案详述 为了更好的讲述该方案下面将以代码或伪代码的方式进行讲述。 接口方法调用存储过程 public bool SetATEData(string iCmdType, string iText, out string oText, out string oErrMessage){return ExecProc.ProcInputPara(iCmdType, iText, out oText, out oErrMessage);} 对该方法的详细介绍如下 Bool SetATEData(String iCmdType, String iText, String oText, String oErrMessage) 参数说明          iCmdType----传入的接口代码如1001可自定义          iText-----------传入此接口参数列表采用键值对的方式传入以“|”分隔例如        “Field1Value1|Field2Value2|Field3Value3|... … ”也可定义其他分隔符如有需要请考虑转义字符    oText----------如接口需要返回参数的列表采用键值对的方式输出以“|”分隔例如        “Key1Value1| Key2Value2| Key3Value3|... … “可为空    oErrMessage----当方法返回false时传出具体的出错信息 注 ExecProc.ProcInputPara(iCmdType, iText, out oText, out oErrMessage)是笔者写的一个静态方法用于调用存储过程。实际应用中需要自行编写。为了做好记录笔者也会上传该静态类仅供参考。 存储过程统一入口 根据传入的iCmdType查询对应的存储过程名称若存在则动态执行该存储过程。 储存存储过程的表格结构如下所示 存储过程的代码ORACLE 11g版本如下所示 CREATE OR REPLACE PROCEDURE PROCDLLBASE (ICMDTYPE IN VARCHAR2,ITEXT IN VARCHAR2,OTEXT OUT VARCHAR2,OERRMSG OUT VARCHAR2,ORESULT OUT INTEGER) AS v_Sql varchar2(4000); v_ProcName TBLPROCGROUP.PROCNAME%TYPE; i_ProcCount integer; BEGINSELECT COUNT(1) INTO i_ProcCount from TBLPROCGROUP where PROCIDICMDTYPE;IF i_ProcCount0 THENOERRMSG:CMDTYPE2PROC_NOT_FOUND;ORESULT:0;RETURN;END IF;SELECT PROCNAME INTO v_ProcName from TBLPROCGROUP where PROCIDICMDTYPE;v_Sql:begin || v_ProcName || (:itext,:otext,:oerrmsg,:oresult);end;;EXECUTE IMMEDIATE v_Sql using in ITEXT,out OTEXT,out OERRMSG,out ORESULT;EXCEPTIONWHEN OTHERS THENROLLBACK;OERRMSG:CMDTYPE2PROC_UNKNOWN_ERROR;ORESULT:0;RETURN; END PROCDLLBASE;  子存储过程 根据业务需求编写对应的存储过程并将iCmdType与存储过程名称关联后储存至TBLPROCGROUP表格中。 子存储过程中涉及到输入参数的解析输入参数的非空性校验及重复性校验这些都是保证系统稳健性的需要。 总结 通过上述方案当客户再有其他需求时只需根据业务逻辑创建存储过程并分配iCmdType与之关联即可实现接口的扩展。 ATE工具开发人员也只需要按照文档的格式传参并解析输出参数即可免却编译程序封装COM组件及更新的繁琐流程。转载于:https://www.cnblogs.com/huangmianwu/p/6133715.html
http://www.sadfv.cn/news/305957/

相关文章:

  • 鞋材加工东莞网站建设新校区建设网站
  • 网站是不是网页凡科 做网站
  • 网站设计如何收费安全管理平台
  • 可以自己做网站不建旅游网站的意义
  • 中国建设银行章丘支行网站宸建设计网站
  • 免费网站应用软件网站制作费用价格表
  • 欧洲男女做受视频网站福田蒙派克配件
  • 国外装饰公司网站网站开发调试iis
  • 求推荐好的网站建设平台网站导航栏怎么做
  • 外贸网站做几种产品好点的Wordpress主题
  • 如何保存网站上的图片不显示图片智能建造就业方向及前景
  • arial 网站开发是用犀利怎么在ppt上做网站
  • p2p商城网站建设方案北京企业官网建站
  • seo网站开发注意事项wordpress qq微信登录
  • 高密做网站的代理中软国际软件培训
  • 建设二手网站的建设费用包括天津企业设计网站建设
  • 哪些网站有二维码微信小程序游戏手游排行榜
  • 做一个手机网站成本山东泰安网络科技有限公司
  • 没有备案的网站百度能收录吗免费推广平台有哪些
  • phpcms模板行业网站wordpress 主题 企业
  • 手机在线做网站知名的网站建设
  • 农村学校资源网站建设与研究网站建设与管理的就业方向
  • 做网站公司有什么出路个人网站可以做地方
  • 新能源课件网站开发新能源投注类网站怎么做自动软件
  • 365网站平湖网站建设公司克
  • 网站建设运城vk汉化网站谁做的
  • 湟源县wap网站建设公司创业做网站开发
  • 东莞网站建设是什么意思电子商务平台的运营方法
  • 上海网站建设框架图用DW做的网站怎么分享给别人
  • 怎样做网站的优化 排名学校网站asp源码