Optimizing SQL Anywhere performance over a WAN
2006-07-30 23:15:13 来源:WEB开发网pcAnywhere使你能够远程控制PC机,如同使用当前计算机一样的工具。它支持多种连接方式: IP连接,MODEM连接,串口电缆直接连接。除了操作外,它还可以进行文件传输、计算机同步等功能。它是计算机远程控制的王中之王。
PCAnyWhere的使用非常简单,它的使用方法在网上有非常详细的介绍,我就不再多说,我介绍一下利用VB驱动PCAnyWhere的方法。
在我的一个项目中有特别的应用,有五个处于不同地方的计算机,有实时数据采集文件,我需要定时拔号上去,将上面的数据文件下载下来,这些数据文件随时间的不同就有不同,所以没有办法做固定的自动文件传输,为此我分别研究了软件提供script与OLE白皮书,最终决定选用OLE。
一、利用OLE进行远程连接
在OLE白皮书上,将OLE驱动写得十分明白,我只要将我的连接代码帖上来,应该十分明白。
1、 检查MODEM是否在使用,由于PCAnyWhere启动后不能再由程序控制,我们必须检查MODEM是否是空闲才能确保拔号可以顺利外拔。检查MODEM空闲可能通过打开MODEM所在的串口是否成功来判断。
2、 生成RemoteDataManager对象
3、 进入C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere,由于 PCAnyWhere安装时将配置文件都放在这个目录下,我们将运行路径切换到这个目录下,可以更方便地使用。
4、 生成RemoteData对象,这要求在配置文件路径下有对应CHF文件上,这是在PCAnyWhere中配置的,只要名称与连接方式相同就可以了。
5、 设置拔号的电话号码,设置登录的用户名与密码,设置进行自动传输的ATF文件,并将RunOnConnect设为TRUE,并将这此配置的修改进行保存。
6、 开始拔号并自动传输文件。
7、 延时,判断MODEM是否空闲,空闲则这一次拔号、文件传输完毕(也有可能失败)。判断已下载的文件,如果修改时间已更新,则这次是成功的。否则是失败的。
8、 将RemoteData、RemoteDataManager对象释放。
9、 拔下一个点。
If checkMODEMIdle Then showBegin '显示开始信息 'Create CRemoteDataManager object Set RemoteDataManager = CreateObject("WINAWSVR.RemoteDataManager") RemoteDataManager.ChangeDirectory "C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere" S = RemoteDataManager.CurrentDirectory() CHFile = xProfile.GetValue(WatchPoint(nowRunID), "CHFFILE") '用于拔号的配置 Set RemoteData = RemoteDataManager.RetrieveObject(CHFile, 2, 0) RemoteData.PhoneNumber = xProfile.GetValue(WatchPoint(nowRunID), "PHONENUM") RemoteData.AutoXferFile = filename RemoteData.AutoLoginName = xProfile.GetValue(WatchPoint(nowRunID), "USERNAME") RemoteData.AutoLoginPassword = xProfile.GetValue(WatchPoint(nowRunID), "PSW") RemoteData.RunOnConnect = True RemoteData.WriteObject (0) S = RemoteData.PhoneNumber RemoteData.Launch Sleep 30000 Do If checkMODEMIdle Then Exit Do DoEvents Sleep 5000 Loop '取文件结束,要进行转存处理 moveDBFData localpath Set RemoteData = Nothing Set RemoteDataManager = Nothing nowRunID = nowRunID + 1 End If |
注意:一次完毕后必须将RemoteData、RemoteDataManager对象释放,不然会出现错乱的现象。
好了,拔号自动文件传输已经实现了,但这个文件传输是在PCANYWHERE中配置好的不变的自动文件传输,不能实现我要的根据时间不同下载不同文件的要求。
Tags:Optimizing SQL Anywhere
编辑录入:coldstar [复制链接] [打 印]- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接