组态王与SQL数据库

      最近去维护一个项目,上位机是组态王的监控。数据库用的Access,吐槽下Access,最大2G的容量,一两天就满了查询报表就查不出来。到现场后编了个脚本每天定时删除60天以前的,删除里面记录后发现Access数据库的大小没变,百度下要压缩后才能释放空间。原计划60天压缩一次也行,结果由于数据量太大,第二天到现场Access就用了200多M。

       然后决定把数据库换成SQL2008,这里要说下组态王的数据库真是很傻很严格感觉组态王跟Access是一家的(帮助、例子都是关于Access的)。SQL里面的表自己做的一般都不行,必须按照系统配置--报警配置里面默认的Access数据库模板,导入到SQL里面。

维护完成整理下工作日志,分享下心得

  1. 安装SQL2008R2(安装过程略过)。

安装完成后建库,这里取名《报警数据库》,建好库就可以了,千万别建表(多次吃亏上当的经验),表一会用组态王生成的Access生成的数据库模板导入。

组态王与SQL数据库_第1张图片

2、建立ODBC数据源

在控制面板----管理工具中建立ODBC数据源,命名为”报警“,如下图:

组态王与SQL数据库_第2张图片

3、生成Access数据库模板

打开组态王的工程找到系统配置--报警配置--数据库配置-报警格式把里面内容设置好,如果需要操作记录等把“操作格式”、“登陆格式”、“工作站格式”也要配置下。

组态王与SQL数据库_第3张图片

组态王与SQL数据库_第4张图片

配置完成后,点击使用默认数据源,点确定

组态王与SQL数据库_第5张图片

 

找到工程的目录Alarm.mdb文件删除。

 

组态王与SQL数据库_第6张图片

 

关闭组态王,再次启动组态王,会在刚才删除Alarm.mdb工程目录里面重新生成一个Alarm.mdb,这就是所需要导入SQL里面数据库的模板。

 

4、Alarm.mdb导入SQL(具体导入方法略)

导入时候里面有4张表对应组态王刚才设置的“报警格式”、“操作格式”、“登陆格式”、“工作站格式”全部导入。

组态王与SQL数据库_第7张图片

5、组态王连接和断开sql server

在“应用程序命令语言”中启动时写SQLConnect语句,停止时写SQLDISConnect语句

组态王与SQL数据库_第8张图片

6、把数据写到SQL

先在变量词典里面把变量记录和安全区设置下,

组态王与SQL数据库_第9张图片

再在报警配置里面把使用默认数据源去掉,数据源处选择第二步ODBC建立的“报警”

    组态王与SQL数据库_第10张图片

运行系统进行测试。产生报警信息后,这些信息就会记录在sql server数据库中,打开数据库进行查看

组态王与SQL数据库_第11张图片

  1. 7、从SQL取出数据

在数据库读取数据借助“KVADODBGrid  Class”控件,设置完后进行测试

 

组态王与SQL数据库_第12张图片

组态王与SQL数据库_第13张图片

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(02_组态王)