综合

img changechange

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

发表于2005/10/8 0:27:00  2679人阅读

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

 

问题:

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

 

回答:

这里我们只需要用到一个 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 原创文章,作者本人对文章保留一切权利。
如需转载必须征得作者同意并注明本站链接

阅读全文
0 0

相关文章推荐

img
取 消
img