怎么取三层中应用服务器的时间?(讨论……)

夏夜倒骑驴 2003-01-26 06:34:45
环境:
server层:Win2000server+SQLServer2000
中间层:win2000Pro+DCOM组件(使用Ado控件制作)
客户端:BCB6
问题
1.怎样取中间层组件服务器的时间?
2.怎样取server层数据库时间?
3.通常在三层中,以那个时间为基准更好?为什么?
...全文
51 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanreid 2003-01-27
  • 打赏
  • 举报
回复
关于这个时间同步的控件,可以无偿赠送包括源码
yuanreid 2003-01-27
  • 打赏
  • 举报
回复
1 没有必要在DCOM中实现,使用网络时间服务器就可以。
我写了一个专门同步网络时间的控件,原理是:启动时取时间服务器的时间(网络上的某台主机),使用NMTime控件,端口37。并记录当前Windows的TickCount时间(可以查询API:GetTickCount),每次客户端需要使用时间,只要告诉我你当时的TickCount,就可以计算出这时服务器对应的时间是什么。这样可以大大减少网络访问量,也不用担心用户修改本地时间。可以处理系统连续运行49.7天TickCount重计数的问题,也可以设置同步时间,达到这个时间间隔就会去同步时间(访问网络)防止同时间服务器产生大的偏差。
2 已经有人回答了。
3 我认为取数据库时间为好,毕竟数据库是存储数据的最终媒介,在编写存储过程或其他统计程序时,不能也要求去同步中间层服务器的时间吧!?
dingfuhai 2003-01-27
  • 打赏
  • 举报
回复
我认为取数据库时间更好。
getdate()
windtransient 2003-01-27
  • 打赏
  • 举报
回复
一二 Libran() 都回答了
三,我认为取服务器时间好
夏夜倒骑驴 2003-01-26
  • 打赏
  • 举报
回复
第一问的答案能再详细一些吗,我新建了一个方法“DateTimeNow”,如何设置他的参数,当保存时有错误提示:
an error has occurred:
an error occurred preparing to save the type library
……
……
Libran 2003-01-26
  • 打赏
  • 举报
回复
1,在中间层自定义方法,调用Now(),把结果返回客户端
2,执行SQL语句调用SQL的方法GETDATE()
3,我没意见……

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧