社区
网络通信/分布式开发
帖子详情
三层专家请进,一块儿讨论这个问题. ^_^
wizardqi
2005-07-25 05:10:15
不知道在三层中大家可否碰到过这种问题:由于客户端是多窗口,所以可能多个ClientDataSet对应服务器端的同一个Provider,不知大家如何解决。我使用了无状态Provider,但是在设计期没办法提取数据字段定义。
...全文
782
63
打赏
收藏
三层专家请进,一块儿讨论这个问题. ^_^
不知道在三层中大家可否碰到过这种问题:由于客户端是多窗口,所以可能多个ClientDataSet对应服务器端的同一个Provider,不知大家如何解决。我使用了无状态Provider,但是在设计期没办法提取数据字段定义。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
63 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wizardqi
2005-08-26
打赏
举报
回复
快点参与有分呀,我要揭贴了,可是现在给分每人分值太大,快发表意见呀!^_^
steelxu5
2005-08-16
打赏
举报
回复
标记,学习中
waysoft
2005-08-16
打赏
举报
回复
学习:)
madyak
2005-08-16
打赏
举报
回复
我觉得用主从数据模块解决这个问题比较好.
请参考代码:
Program Files\Borland\Delphi7\Demos\Midas\SharedConn
Teng_s2000
2005-08-16
打赏
举报
回复
学习中...
quicksand201
2005-08-14
打赏
举报
回复
gz
lovcal
2005-08-14
打赏
举报
回复
问一下,DataSetProvider不是对每个客户端连接都建立新的进程么?
惭愧得很,我现在有个项目的三层开发怎么跟大家讨论的都不太相同啊?大家把自己如何解决的也都说说啊,我们学习一下,呵呵
另外加个问题:就是关于客户端与服务器端通信双方死机的问题,比如说在客户端调用中间应用服务器接口函数期间(返回之前),将服务器端的网线断了,客户端就死掉了,这些问题我找遍了资料都得不到答案,在版上问了多次,但也都没结果,不知道各位大哥在三层的实现中是不是从来都不存在这个问题阿?小弟很郁闷,呵呵
herman~~
2005-08-09
打赏
举报
回复
学习
wizardqi
2005-08-09
打赏
举报
回复
其实这点Borland的更新机制本身已经是无状态了,唯一需要保护的是用户下载数据时需要用户记录自己的状态,这也是解决问题的关键,修改后的DataSetProvider和ClientDataSet具有了这种协调功能,所以每个DataSetProvider都可以重复利用,不会出现问题,所以中间件的数据访问模块利用率很高,再加上业务对象加入Pooling机制,经测试确实非常有效率。
angelior
2005-08-08
打赏
举报
回复
解决了?
要不说感谢了?
lwk_hlj
2005-08-08
打赏
举报
回复
我有来了
不知道在三层中大家可否碰到过这种问题:由于客户端是多窗口,所以可能多个ClientDataSet对应服务器端的同一个Provider,不知大家如何解决。我使用了无状态Provider,但是在设计期没办法提取数据字段定义。
-----------------------------
所以可能多个ClientDataSet对应服务器端的同一个Provider
每个clientdataset在对数据操作的时候
在其BeforeApplyUpdates(Sender: TObject;
var OwnerData: OleVariant);
begin
OwnerData:='select * form tablename';
end;
wizardqi
2005-08-08
打赏
举报
回复
感谢大家参与讨论.
wizardqi
2005-08-08
打赏
举报
回复
是呀,我自己想到了一个很有效率的解决办法,现在项目可以继续了。
lwk_hlj
2005-08-03
打赏
举报
回复
Connection: TADOConnection;
dataset: TADODataSet;
DSPRead: TDataSetProvider;
我就用一个!
lwk_hlj
2005-08-03
打赏
举报
回复
晕,给大家一个方法看看!
{-------------------------------------------------------------------------------
过程名: TMaterialServer.OpenData
作者: 李文凯
日期: 2004.12.06
描述: 请修改
实现方法: 请修改
参数: SQLFlag: Integer; const SQLWhere: WideString; var Data: OleVariant
返回值: 无
-------------------------------------------------------------------------------}
function TMaterialServer.OpenData(SQLFlag: Integer;
const SQLWhere: WideString; var Data: OleVariant;
var strMSG: WideString): Integer;
var
strSQL: string;
strLog:string;
begin
strLog:='OpenData(SQLFLAG='+inttostr(SQLFlag)+',SQLWHERE='+SQLWHERE+')';
Result:=1;
strSQL:=getSQLByID(SQLFlag);
if strSQL='' then
begin
strMSG:='编号为['+IntToStr(SQLFlag)+']的SQL语句没有定义!与请系统管理员联系!';
MainServer.AddInformat(FUserNO,FUserName,'读数据',strMSG,strLog,1);
Exit;
end;
if Trim(SQLWhere)<>'' then strSQL:=Format(strSQL,[SQLWhere]);
try
dataset.Close;
dataset.EnableBCD:=False;
dataset.CommandText:=strSQL;
dataset.Open;
Data:=DSPRead.Data;
dataset.Close;
Result:=0;
except
On E:Exception do
begin
strMSG:='获得数据失败,与请系统管理员联系!';
MainServer.AddInformat(FUserNO,FUserName,'读数据','编号['+IntToStr(SQLFlag)+'] 读取出错'+E.Message,strLog,1);
end;
end;
cds.ProviderName:='';
end;
dhf88
2005-08-03
打赏
举报
回复
我采用Delphi 6在Win 2000下开发基于COM+的三层系统,数据库服务器和应用服务器安装在同一台机器上,采用TSocketConnection连接,该系统的客户端每天都会死机,客户数5个以上大概1天发生1或2次,发生在客户端连接上后,网络中有掉包或客户机长时间没操作异外的断开,应用服务器上还显示客户机的IP地址,应用服务有时就会死掉.请问如何解决
wizardqi
2005-08-03
打赏
举报
回复
最后讨论阶段,马上揭贴了.
WuChenCan
2005-08-03
打赏
举报
回复
lwk_hlj(阿凯(学习.net中)) 的架构模式跟我的很相似,有机会可以讨论一下。wccyxf@163.com
海宏AA
2005-08-03
打赏
举报
回复
我一般是放多个Provider。还有动态创建Provider,用完了释放。
服务器上是有访问就自己创建的,不明白,怎么会重复呢?顶一下。
wizardqi
2005-08-03
打赏
举报
回复
我的业务逻辑使用了Pooling机制,同时共享了数据访问模块,所以数据访问模块必须无状态.
加载更多回复(43)
TowardsDataScience 博客中文翻译 2022(三百六十)
生存分析包括描述事件时间数据的统计方法的集合。在这篇文章中,我们介绍一个流行的生存分析算法,Cox 比例风险模型。然后,我们定义了它的对数部分似然和梯度,并通过一个实际的 Python 例子对它进行优化以找到最佳的模型参数集。卡蒂亚·奥斯丁在Unsplash上拍摄的照片当分析 A/B 测试结果时,贝叶斯方法可以在许多不同的方面取代传统的频率方法。此外,从实现到解释,贝叶斯方法可能与频率主义方法非常不同。
转载(https://blog.csdn.net/qq_36738482/article/details/72823509)大数据的概念
1、大数据定义 对于“大数据”(Big data)研究机构Gartner给出了定义,“大数据”是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力 的海量、高增长率和多样化的信息资产。 大数据技术的战略意义不在于掌握庞大的数据信息,而在于对这些含有意义的数据进行专业化处理。换言之,如果把大数据比作一种产业,那么这种产业实现盈利的关键,在于提高对数据的“加工能力”,通过“加工...
TowardsDataScience 博客中文翻译 2022(一百零六)
H 您如何管理模型训练实验的配置?拥有良好的配置管理可以改善用户体验并简化实验管理。拥有一个好的配置解决方案的一些间接优势是干净、可靠和简单的应用程序代码。这对于任何软件应用程序都是如此,但是有些应用程序比其他应用程序需要更高的配置投资。这里的一个关键区别可能是一个有多少配置字段,以及这些字段之间的相互关系。对于深度学习实验来说,这可能会变得非常混乱,在深度学习实验中,配置和超参数的列表可能会在一个人脱离即席实验后迅速增长。根据定义,模型训练配置是分层的。例如,实验配置可以分解为数据和模型规格。
TowardsDataScience 博客中文翻译 2021(三百七十三)
当你充分利用计算机科学学位时,它是无价的。事实是,虽然计算机科学专业的毕业生与其他专业相比失业率较低,但毕业后仍然很难找到工作。因此,不要浪费你在大学的四年时间仅仅为了获得学位而学习。充分利用它,这样到你毕业的时候,雇主就不可能拒绝你了。在今天的简短指南中,我们将
讨论
几种计算熊猫数据帧行数的方法。此外,我们将展示如何在导出计数时忽略空值。最后,我们将观察本文中介绍的每种方法的性能,并确定计算行数的最有效方法。首先,让我们创建一个示例数据框架,我们将在本指南中引用它来演示一些概念。
TowardsDataScience 博客中文翻译 2019(五百四十八)
正如我们已经知道的,大型有效的深度学习模型是数据饥渴的。他们需要用数千甚至数百万个数据点进行训练,然后才能做出合理的预测。培训在时间和资源上都非常昂贵。例如,由谷歌开发的流行语言表示模型 BERT 已经在16 个云 TPU(总共 64 个 TPU 芯片)上训练了 4 天。客观地说,这是大约 60 台台式计算机连续运行 4 天。然而,最大的
问题
是,像这样的模型只能在单一任务中执行。未来的任务需要一组新的数据点以及等量或更多的资源。
网络通信/分布式开发
1,594
社区成员
32,958
社区内容
发帖
与我相关
我的任务
网络通信/分布式开发
Delphi 网络通信/分布式开发
复制链接
扫一扫
分享
社区描述
Delphi 网络通信/分布式开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章