Z
zyhalj
Unregistered / Unconfirmed
GUEST, unregistred user!
有一个问题困扰了我一个多月,一直没有找出原因。面临的压力很大。肯请大师从百忙之中抽点时间帮我诊断一下。
具休情况如下:
我在拜读了你的大作《Delphi 5.x分布式多层就用--系统篇》和《Delphi 5.x ADO/MTS/COM+高级程序设计篇》以后, 采用MIDAS+COM技术开发了一套MRP系统。在开发阶断一切良好,等系统上线后,经常出现应用服务器无法响应客户端的请求,至使客户端象死机一样停在那里。
运行环境:
数据服务器和应用服务器共用一台 DELl PowerEdge 1600SC 服务器、WIN2000 Server、SQL Server 2000标准版,客户端:Windows 98。
开发技术:
应用服务器(NT服务模式):
通过ADOConnection与后台数据库连接。ADOQuery获取数据后经DataSetProvider传至客户端。对於Master/Detail类型的数据用《Delphi 5.x ADO/MTS/COM+高级程序设计篇》中第2章第2-3节介绍的方法。DataSetProvider的ResolveToDataSet=True,另外,在应用服务器中定义了五个方法:
function RegisterLog(const vUserId, vComputerId, vProgramId: WideString;
vOptType: Shortint;
const vKeyValues: WideString;
vOptTime:do
uble): OleVariant;
safecall;
--凳记操作日志
function UpDateUsedId(const vVoucherTable, vNowBillId: WideString;
vNowUsedId: Integer): OleVariant;
safecall;
--更新单据已用单号
procedure BegTrans;
safecall;
--启动事务
procedure ComTrans;
safecall;
--提交事务
procedure RobTrans;
safecall;
--回滚事务
客户端:
由TClientDataSet通过TDCOMConnection与应用服务器连接获取数据。客户端数据存盘时作了如下处理:
1)首先调用服务器中的BegTrans方法,
Try
2)调用服务器中的RegisterLog方法
3) TClientDataSet.ApplyUpdates(-1)方法
调用服务器中ComTrans方法
Except
调用服务器中RobTrans方法
end;
程序运行一段时间后(长短不定,有时3-4小时,有时1-2小时)应用服务器无法响应客户端请求,此时,只有将应用服务器服务停止,然后再启动服务,客户端方可正常运行。
一定请高手给解决帮忙呀
具休情况如下:
我在拜读了你的大作《Delphi 5.x分布式多层就用--系统篇》和《Delphi 5.x ADO/MTS/COM+高级程序设计篇》以后, 采用MIDAS+COM技术开发了一套MRP系统。在开发阶断一切良好,等系统上线后,经常出现应用服务器无法响应客户端的请求,至使客户端象死机一样停在那里。
运行环境:
数据服务器和应用服务器共用一台 DELl PowerEdge 1600SC 服务器、WIN2000 Server、SQL Server 2000标准版,客户端:Windows 98。
开发技术:
应用服务器(NT服务模式):
通过ADOConnection与后台数据库连接。ADOQuery获取数据后经DataSetProvider传至客户端。对於Master/Detail类型的数据用《Delphi 5.x ADO/MTS/COM+高级程序设计篇》中第2章第2-3节介绍的方法。DataSetProvider的ResolveToDataSet=True,另外,在应用服务器中定义了五个方法:
function RegisterLog(const vUserId, vComputerId, vProgramId: WideString;
vOptType: Shortint;
const vKeyValues: WideString;
vOptTime:do
uble): OleVariant;
safecall;
--凳记操作日志
function UpDateUsedId(const vVoucherTable, vNowBillId: WideString;
vNowUsedId: Integer): OleVariant;
safecall;
--更新单据已用单号
procedure BegTrans;
safecall;
--启动事务
procedure ComTrans;
safecall;
--提交事务
procedure RobTrans;
safecall;
--回滚事务
客户端:
由TClientDataSet通过TDCOMConnection与应用服务器连接获取数据。客户端数据存盘时作了如下处理:
1)首先调用服务器中的BegTrans方法,
Try
2)调用服务器中的RegisterLog方法
3) TClientDataSet.ApplyUpdates(-1)方法
调用服务器中ComTrans方法
Except
调用服务器中RobTrans方法
end;
程序运行一段时间后(长短不定,有时3-4小时,有时1-2小时)应用服务器无法响应客户端请求,此时,只有将应用服务器服务停止,然后再启动服务,客户端方可正常运行。
一定请高手给解决帮忙呀