热门关键字:  ubuntu  分区  函数  Fedora  linux系统进程

C/S体系中如何设置工作站与服务器时钟同步

来源: 作者: 时间:2008-05-18 Tag: 点击:
 

一、前言

 

PowerBuilder通过数据窗口对象,可方便、直接地对数据库进行操作,故已成为当前开发Client/Server模式应用的首选开发工具。在开发医院信息管理系统时,我们采用了PowerBuilder 作为前台开发工具,Sybase作为后台数据库。

 

医院信息管理系统中,有很多模块都要求工作站的时间与服务器保持同步,如:门诊收费系统要求能均匀地向各司药窗口分派处方、住院药房摆药要根据病房发送医嘱的时间顺序进行等。为解决此问题,我们编写了相应的程序,主要思路是:采用动态游标获取服务器时间, WIN32的API函数设置本机时间,具体实现方法如下:

 

二、实现方法:

 

1、 连接数据库

 

PowerBuilder支持多种数据库管理系统(DBMS),如Sybase、Oracle、Informix、Microsoft SQL Server等;根据不同的数据库类型,采用专用接口或ODBC连接数据库,建立接口配置文件(DB Profile)。

 

2、 创建应用对象,在应用对象事件中编写脚本

 

1>、应用对象open事件的脚本如下:

 

startupfile = "settime.ini"
sqlca.DBMS= ProfileString (startupfile, "database", "dbms", "")
sqlca.database=ProfileString(startupfile,"database","database","")
sqlca.userid=ProfileString(startupfile,"database","userid","")
sqlca.dbpass=ProfileString(startupfile,"database","dbpass", "")
sqlca.logid=ProfileString(startupfile, "database", "logid","")
sqlca.logpass=ProfileString (startupfile, "database","LogPassWord", "")
sqlca.servername=ProfileString(startupfile,"database",ervername","")
sqlca.dbparm= ProfileString (startupfile, "database", "dbparm", "")
connect;
f_setlocaltime() //调用自定义函数完成设置本地工作站时间

 

 

 

 

 

2>、应用对象Close事件中的脚本如下:

 

DISCONNECT Using SQLCA;

 

 

 

3、 定义WIN32的API函数为外部函数

 

在Script画笔工作区中,选择Declare > Global External Functions...,定义WIN32的API函数为外部函数,定义如下:

 

FUNCTION LONG SetLocalTime 
(ref systemtime systimeptr) LIBRARY "Kernel32.dll"

 

 

 

 

 


最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册