c/s编程的问题(今天下午六点以前揭贴,盼大家再照顾一下) (120分)

  • 主题发起人 主题发起人 totogirl
  • 开始时间 开始时间
T

totogirl

Unregistered / Unconfirmed
GUEST, unregistred user!
各位DFW,指指迷津吧
1、在DCOM、SOCKET、SOAP、CORBA几种连接技术中,
对于局域网的C/S、多层数据库目前哪一种用的比较多?比较好?
2、是不是SOAP、CORBA一般都用于internet,不用于局域网?
3、用remote data module,DCOM连接,服务器用ADOQuery、adoconnection、datasetprovider
客户端用DCOMconnection、clientdataset做查询时如何作到服务器端写所有SQL,客户端只向
服务端传查询参数,我应该怎么做?
我查了以前的帖子,没有找到合适的内容.........
 
1 建议用DCOM吧,虽然配置与发布麻烦一点,但最稳定/安全.具体自已去查询吧
2 也可用于局域网,但常用于Internet
3 写所有SQL将服务器端datasetprovider的AllowCommand设为True.然后给客户端
clientdataset的CommandText赋值.
例: with clientdataset1do
begin
Close;
CommandText:=' Select No,Name,Sex from TA where No=:No ';
Params.ParamsByName('No').AsInteger:=12;
try
Open;
except
//你的出错信息
end;

end;
//这是查询,增加与修改大同小意
 
>>blackeagle8888:谢谢
使用clientdataset的CommandText属性还是要在客户端写SQL,同时还需要从客户端向
服务端传递这些内容,我是想SQL都写在服务端,客户端只体现参数,到时候只传递参数,
不知道怎么实现。
 
个人观点:
1、2:局域网中DCOM应该是首选,安全性、效率都比较好,但配置比较麻烦;
Socket正好相反,配置简单,但基本上没有安全机制,效率也较DCOM差点。
Soap好像多用于广域网。corba不大懂。
3:将sql语句放在服务器端remote data module的方法中,客户端远程调用这
些方法,然后从clientdataset取得数据。
 
DCOM的客户端数量是不是有限制?能不能告诉我。
 
应该是有限制,但如果设计合理,比如全部实现无状态对象,只有在必要时
连接服务器,那么连接数应该可以满足要求。
 
dcom 配置听麻烦的!
建议用corba 配置简单!
 
1 在服务器的ADOQuery1的Sql属性中写SQL语句,如:
select * from FACE_PHOTO where PEOPLE_SEQ=:ID
2 在客户端的ClientDataSet1的Params属性中添加一个参数ID;
3 使用时的例子:with ClientDataSet1do
begin
Close;
Params.ParamByName('ID').Asinteger:=12;
Open;
//这是查询,其他用Execute;
end;

.注:用参数的话,不太灵活.祝好运
 
天那,我终于试成功了,不过用的还是blackeagle8888 26日给的方法。
我这里要用到许多参数,在ADOQuery.sql中写确实麻烦
以后再说吧,先把帖子结了,我是讲信义的呀。
不过第一、第二个问题还没有得到太明确的答案,尤其对SOAP、CORBA到底是适用局域网
还是internet,优、劣,给一些体会吧。
还有那个MTS,怎么样?
今天下午下班以前结帖子,盼大家再照顾一下。
 
大哥:SOAP最好是适用internet的,因为它是用URL连接,而CORBA最好使用局域网,
它的速度,容错能力、负载平衡以及使用线程存取数据等,都是DCOM都没发和它比。
 
>>jierxrh
thank you
 
不错,SOAP用于internet比较好,它用URL连接,基于XML格式传输!
 
MTS用的时候有没有缺点?或者限制。
为什么大家多谈的是DCOM,或者SOCKET,对MTS很少提及?
 
MTS:2000年时我用过,感觉是服务程序编写太复杂,当时使用客户端传参数的方法(TCLIENTDATASET),
结果是如果一个界面中要查询10个表,那么服务程序就必须有10个对应的DATASETPROVIDER和相同数量
的adoquery,配置不是很麻烦。好像用局域网和广域网都可以,我们当时用在局域网里。解释可能不完
全正确,因为水平有限。
CORBA:我们现在的公司用的是这个,对于不同网段支持还好。缺点就是VIRIUAL BROKER那个服务程序
好像不怎么好,时有发送消息时出现绑定后,不发送的现象发生。
SOCKET:我们的一部分程序使用SOCKET通讯,主要是udp收发包,我现在感觉比较稳定,至于配置,因为
我们自己的平台(中间件),感觉很好用!
其它就不知道了!
另外,开发广域网的程序,我不知道你指的什么,跨区域公司平台?还是网络电子商务?我目前所开发
程序主要针对局域网的!
 
1.soap或dcom或delphi的socketconnection
2.corba一般实际用在局域网,soap和socketconnection可实际用在广域网
3.调方法,传参数是你自己的设计问题,没有必要在客户端形成sql语句啊,不过在客户端
形成sql语句并作为参数传递到中间层也可以,随便,没什么太大关系,估计你还没有实际
做过吧 :D
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
396
import
I
S
回复
0
查看
955
SUNSTONE的Delphi笔记
S
后退
顶部