PDMS二次开发知识点:
1.在PDMS环境中调用ADO.NET实现MSSQL数据库CRUD
2.通过xml配置文件实现可配置的数据库连接字符串
//v.qq.com/txp/iframe/player.html?origin=https://mp.weixin.qq.com&containerId=js_tx_video_container_0.3811770819549547&vid=v0924zviv05&width=677&height=380.8125&autoplay=false&allowFullScreen=true&chid=17&full=true&show1080p=false&isDebugIframe=false
需求
PDMS数据库有点像面向对象型数据库,应用管理软件主要使用的是关系型数据库,如果能让PDMS实现与关系型数据库的交互,就有机会使PDMS与第三方管理软件进行集成,这种集成摆脱了依靠Excel作为中间体的数据流转方式,是真正的系统级集成。
思路
数据库我们选择Microsoft SQL Server 2014 Express(以下简称MSSQL),入门快,易上手,免费,功能足够。不管是ADO.NET还是EntityFramework都可以轻松实现对数据库的操作,这是.net开发框架的优势,现代工业设计软件越来越多地开放.net开发接口。我们模拟一个应用场景:对管线输入设校审信息,PDMS如果想实现这样的功能,一般要增加几个用户自定义属性。在这个Demo中,我们在MSSQL数据库建数据表,在PDMS中开发输入界面,信息输入后存储在MSSQL数据库表中,并实现CRUD全部效果。我选择ADO.NET,这种年纪跟我差不多大的组件有一个好处就是不需要引用新的系统程序集,这使得我们的程序特别简洁,除了一个主程序 配置文件,没有任何多余的东西。
ADO.NET
ADO.NET是.NET框架中的重要组件,主要用于完成.NET应用程序访问数据库
演示效果
图1 输入设校审信息功能界面
图2 在MSSQL数据库中建表
图3 sql查询语句
图4 设置数据库连接字符串
图5 连接测试成功
图6 输入设校审信息(需选中PIPE)
图7 数据库中写入数据成功
图8 修改设计人员信息和时间
图9 设计人员信息和时间更新成功
图10 删除设校审信息
图11 设校审信息被删除
图12 再刷新数据时提示没有该管线的设校审信息
总结
与第三方数据库交互操作大概有这么几个好处:
- PDMS数据库更干净,原本需要创建用户自定义属性才能实现的功能,现在可以通过外部数据库实现存储,不创建用户自定义属性可以提高二次开发成果的通用性,有利于二次开发成果的推广;
- 信息系统集成的专业性得到加强,摆脱了以往拿Excel文件作为中间体导入导出的数据传输方式,让数据自动、批量、可校验地进入第三方数据库,再由数据库组织成符合第三方商业应用软件数据规则的数据集,通过数据接口向下游软件推送。通过这种方式,不管是P&ID、Instrumentation、Engineering、VNET还是SPRD、SPF,只要后台是关系型数据库,都有办法做系统级的集成开发。
- 借助专业数据库软件的策略管理可以实现数据自动流转,数据映射关系和字段条目可定制,减少人工批处理数据的操作。专业数据库软件的高可用特性能帮助我们实现高效的数据迁移和备份,其对数据的拓展应用和维护能力远超PDMS自身的数据库。
- 实现数据库操作看上去是打通了一个点,实际上是打开了一扇门,验证了深度二次开发的技术可行性,使用专业的数据库意味着可以实现更复杂的数据结构,更快的检索速度,不论是深度的业务领域计算,还是数据的采集加工,我们依托PDMS能做的应用开发将越来越复杂和高能。
- PDMS的数据库能否云化?能否接入Key-Value型数据库?至少从纯技术层面来说已经没有鸿沟。未来会创造更多的应用场景,读取物联网采集的信息,打通模型与物联网数据库等等等等,我觉得一切皆有可能。