Access911.net   |   a9BBS   |   OTaA System  
  搜索文章:  
Access911欢迎您光临  
   主页      上传      繁體版       论坛     
设为首页  |  加入收藏   
  
你现在的位置:文章索引 -> 文章分类 -> VBA  
 首页|  近日更新|  下载  |  文章索引  |  搜索|  术语|  承接工程|  
 
系统正在加载内容,请耐心等待...
 
 查询
 窗体
 报表
 
 
 VBA
 函数
 ADO/DAO/ADO.NET
 API
 ADP
 安全
 发布
 OA
 ASP/ASP.NET
 其他语言
 控件
 DELPHI
 C#/.Net
 本站
 其他
 小例程
 常用软件
 参考文档
 业主作品
 网友大作
 
 
友情链接
 access911.net
 
访问人次
 1676518
 
站长 E-Mail
 net911@sina.com
 access911@gmail.com
 
RSS 订阅

显示附加信息 >>>

如何使本机时间与服务器时间同步?

作者:cg1  摘自:access911.net  :cg1  更新日期:2005-4-7  浏览人次:

 

问题:

如何使本机时间与服务器时间同步?
我将数据库拆分为服务器端和客户端,但是客户端有好多个,如何使所有客户端时间一致呢?我想应该是将所有客户端的时间设定得和服务器同步即可。如何设定呢?

 

回答:

这里我们只需要用到一个 WINDOWS 命令 NET TIME,语法请参考:

Net time

使计算机的时钟与其他计算机或域的时钟同步。使用不带参数的 net time 显示其他计算机或域的时间。

语法

net time [{\\ComputerName | /domain[:DomainName] | /rtsdomain[:DomainName]}] [/set]

net time [\\ComputerName] [/querysntp] [/setsntp[:NTPServerList]]

参数

\\computername
指定要检查或要与之同步的服务器的名称。
/domain[:DomainName]
指定要同步时钟的域。
/rtsdomain[:domainname]
指定要与之同步时钟的“可信时间服务器”所在的域。
/set
使计算机的时钟与指定的计算机或域的时间同步。
/querysntp
显示当前为本地计算机或 ComputervNname 所指定的计算机配置的网络时间协议 (NTP) 服务器的名称。
/setsntp[:NTPServerList]
指定本地计算机所使用的 NTP 时间服务器的列表。该列表可以包含 IP 地址DNS 名称,并用空格分开。如果使用多个时间服务器,则必须使用引号引住该列表。
net help Command
显示指定 net 命令的帮助。

注释

  • W32tm.exe 是用来同步本地计算机与远程计算机或域的时间的类似命令。由于其灵活性,W32tm.exe 是时间同步的首选方法。有关 W32tm 的详细信息,请参阅“相关主题”。

示例

要显示计算机 CORPDC1 的当前时间,请键入:

net time \\CORPDC1

要使计算机的时间与域内的当前时间同步,请键入:

net time /domain /set

格式化图例

格式 含义
斜体 用户必须提供的信息
粗体 用户必须准确键入的要显示的元素
省略号 (...) 在命令行中可多次重复的参数
中括号 ([]) 可选项
大括号 ({});选项用竖线 (|) 分隔。例如:{even|odd} 用户必须从选项集合中选择一个
Courier 字体 代码或程序输出

用下述语句 
NET TIME \\SERVER_COMPUTERNAME /SET

 

如果只想获得服务器时间而不想更新,我们可以直接使用该命令将结果输出到一个 TXT 文件,并且读取 TXT 文件即可。
NET TIME \\SERVER_COMPUTERNAME > c:\temp.txt

 
如果要等待输出完成,然后再读取,需要用到有关使 SHELL 命令等待结果的方法,请参考:
    如何解决shell执行外部程序的等待问题?(同步/异步)《API》
    http://access911.net/index.asp?u1=a&u2=72FAB21E

完整调用某台服务器的时间,并在本机显示的代码如下:
Function ReadTimeFromServer()
    '以下的 SHELLWAIT 函数是
    '《方法二:等待调用外部程序执行完毕》
    'http://access911.net/?kbid;72FAB31E
    '一文中所定义的自定义函数,用于等待 SHELL 执行完毕后再执行下一步。
    '你还可以参考:《如何解决shell执行外部程序的等待问题?(同步/异步)》
    'http://access911.net/?kbid;72FAB21E

    ShellWait "cmd.exe /c NET TIME \\comet-2003 > c:\temp.txt", vbHide
    '注意,如果是要同步的话请调用:ShellWait "cmd.exe /c NET TIME \\SERVER_COMPUTERNAME /SET"
    Dim fs
    Dim a
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set a = fs.OpenTextFile("c:\temp.txt", 1)
    Dim c
    c = a.readline
    a.Close
    Debug.Print c
    '得到结果为:\\comet-2003 的当前时间是 2005/4/20 上午 09:49
    '然后对 C 做一些判断即可获得指定服务器的当前时间了

    Debug.Print CDate(Mid(c, InStr(1, c, "当前时间是") + 5))

End Function


 

本站文章旨在为该问题提供解决思路及关键性代码,并不能完成应该由网友自己完成的所有工作,请网友在仔细看文章并理解思路的基础上举一反三、灵活运用。

access911.net 原创文章,作者本人对文章保留一切权利。
如需转载必须征得作者同意并注明本站链接


 

 
相关文章
     没有手动相关文章
     如何在各种环境下同步MDB数据库(思路)
     如何用自己的服务器做 DNS 域名解析,如何创建域名服务器?
     如何解决“在 Microsoft Office Access 与 OLE 服务器或 Active...
     如何更改数据类型为“自动编号”“同步复制ID”的值?
     如何让 ACCESS 自动定时执行某段代码?
     新手来看:如何解决SPS“虚拟服务器列表”中对SPS安装后再建立的网站不可管理?
     如何对两个时间相加?多个日期时间作为条件进行对比判断的问题
     自动编号如果递增到的最大数后会怎么样?什么是同步复制ID?
     如何计算两个时间间隔并转换成“N天N小时N分N秒”这样的形式?
     新手来看:如何建立C/S结构的数据库?(同步更新问题)
 
评论
     查看或发表更多的评论,请单击这里。
 
 
 
 
 
   
  Access911.net   |   a9BBS   |   OTaA System   |
建站日期:2000年4月2日  |  设计施工:陈格 ( access911 & cg1 )
 Copyright © 2000 - 2003 COMET, 陈格 保留所有权利