admin管理员组

文章数量:1637675

 最近开发的数据采集软件会每分钟读取SQL Server 2000数据库指定数据表最新一条数据,再发送到服务器端,服务器解析后写入数据库表保存,该软件在热处理线车间上的三台工控机上运行时会在12点刚过时自动关闭,现场的工控电脑并没有找到关闭的原因,于是想了一个办法:设置计划任务,每天定时关闭,一分钟后再启动软件。

现场工控机装的是xp系统,xp系统下设置无密码账号的计划任务的具体步骤可以参考:http://jingyan.baidu/article/eb9f7b6dcbe0ea869264e845.html 。

打开运行,开始菜单里,或者按Win+R;输入gpedit.msc,确定;依次打开计算机配置-Windows设置-安全设置-本地策略-安全选项;大概把滚动条拉到底吧,找到使用空密码的本地帐户只允许进行控制台登录;双击它,选择 已禁用,然后再按确定

计划任务需要在控制面板里“任务计划”项选择定时执行的软件,其中关闭软件是用的批处理文件,(.bat),批处理文件的内容是:

@ping 127.1 -n 5 >nul
@taskkill /f /IM ××数据采集客户端.exe


另外,在采用ADO方法不断读取数据库制定表数据时会发现任务管理器中,数据采集软件占用的内存会不断地4K的增长,即使调用_RecordsetPtr  记录集指针调用Close()函数,或.Release()函数,结果也一样。这样看,在不需要保证不漏数据的前提下,定时设置关闭和重启软件是可行的,也可以避免软件占用内存不断增长出现问题。不过这4K的增长以后有机会还是要看看有没有其他解决办法。另外,在修改的过程中也发现了:MFC开发的软件最小化以后会大量释放占用的内存,而如果只是隐藏软件,占用的内存不会大量释放。

本文标签: 软件过高账号数据采集内存