你有权限加入job吗? 有的话你可以写个job 具体的实现应该是这样的 首先远端的数据库新闻表应该有三个子段:addtime,modifytime, newsid USE MyLocalNewsselect max(addtime) into lastaddtime,max(modifytime) into lastmodifytime from news 获取最后的时间 然后 delete from new where sourceNewsid in ( SELECT TmpTbl.NewsID FROM OPENROWSET('SQLOLEDB','NewsServer';'sa';'Pwd', 'SELECT NewsID FROM NewsDatabase.Newss where modifytime>' + @lastmodifytime + '') AS TmpTbl) GO 然后 insert into new SELECT TmpTbl.* FROM OPENROWSET('SQLOLEDB','NewsServer';'sa';'Pwd', 'SELECT NewsID FROM NewsDatabase.Newss where Addtime>' + @lastAddtime + ' or ModifyTIme>' + @LastModifyTime + '') AS TmpTbl
AspNetPager 免费分页控件4.1版发布,欢迎下载使用:http://www.webdiyer.com
如果这样,你可以写个windows server程序。这里不能使用普通的桌面程序。因为
他(桌面程序)的运行要求登陆到系统.而你的服务器是不需要登陆就可以提供服务的。
若放在普通页里,定时刷新,最好用 webdiyer的方法,用application记着时间,(若不这样的话会把人家的服务器搞死。)在一个常用的页面程序检查时间,调用更新方法。然后修改application里的时间为当前时间。
有一个问题是,假如没人访问你的网页你需要更新的新闻数据会堆积的。
请问webdiyer是什么方法?数据是不会堆积的,通过其它方法判断,例如标题相同就不更新。另一个小问题:application如果一段时间没有人访问,但没超过6小时,application的值是否就没有了,这时有人访问页面时,即使没有过6小时,也会再更新新闻数据,是不时这样??asp.net能启动线程吗?如果多线程也可以,这样不需加重访问时的负担,从而防止等待时间太长!!
有的话你可以写个job
具体的实现应该是这样的
首先远端的数据库新闻表应该有三个子段:addtime,modifytime, newsid
USE MyLocalNewsselect max(addtime) into lastaddtime,max(modifytime) into lastmodifytime from news
获取最后的时间
然后
delete from new where sourceNewsid in (
SELECT TmpTbl.NewsID
FROM OPENROWSET('SQLOLEDB','NewsServer';'sa';'Pwd',
'SELECT NewsID FROM NewsDatabase.Newss where modifytime>' + @lastmodifytime + '') AS TmpTbl)
GO
然后
insert into new SELECT TmpTbl.*
FROM OPENROWSET('SQLOLEDB','NewsServer';'sa';'Pwd',
'SELECT NewsID FROM NewsDatabase.Newss where Addtime>' + @lastAddtime + ' or ModifyTIme>' + @LastModifyTime + '') AS TmpTbl
若不能加入job,你就自己wanxl(慢慢来) (把
Application变量在整个应用程序运行期间一直存在,除非重新启动应用程序或服务器。