讨论,在多层结构中,是把SQL语句放在中间层好,还是放在CLIENT好,还是.......(0分)

  • 主题发起人 主题发起人 jierxrh
  • 开始时间 开始时间
J

jierxrh

Unregistered / Unconfirmed
GUEST, unregistred user!
当然是中间层了
这是和业务有关的操作
要不然你用c/s得了,这样速度还快许多
 
那不是还要专门建一个表管理这些SQL语句呢!
 
不知道你说什么
为什么要建表管理sql?
 
sql语句应该放在中间层的对象中,此对象的接口中有特定的方法,由方法的参数传递需要从客户端获得的数据.
 
如不建一个表专门管理那些SQL语句,其不到处都是SQL,
还有我想把那些SQL放到表中,再保存为一个公文包的形式.这样哪儿需要SQL就可直接调用.
我也不知道这种方法好不好,我想SQL不会太乱.
 
其实,把SQL保存在表里没有什么价值,对于M-tier效率是很突出的问题
Appserver应该封装业务规则的基元,如果修改业务,也就是修改Appserver,
如果把SQL放到表中,还不如把所有的业务写成存储过程
另外,briefcase是个不可靠的东西,相当于DBF,数据丢失是在所难免的
 
这还需要讨论吗? 否则什么是多层?
 
建议将SQL语句存在数据库服务器的表里,调用时只需要SQL语句的ID号即可,
这样在后期维护会方便很多。
 
总算有一个举手的,:) TO;无忧鱼
其实我也是这么想的,只是不断的调用,会不会影响速度
 
速度当然有点影响,不过问题不大
 
我的建议:
可以放在应用层,把查询语句放在程序中或者放在应用服务器的一个文本文件中,需要哪条就调用那条(如无忧鱼所说用ID号查找,这样省去了到数据库服务器中读取的过程,本地毕竟快一些),然后直接执行查询就可以了
建议,供讨论
 
设计好了就可以放在后端吧,不过你增加什么的话后台又要改,中间层也要改,意义不大,在哪都一样,如果从维护一层来做的话还是放在中间层好点
 
要知道用三层的目的中有一个是:安全,如果你在客户端放sql,那还有安全性可言,我找一个工具资源工具或二进制文件编辑,将客户端程序里面写的select sql改成update sql,或者delete 甚至insert sql,为自己创建一个登录账号什么的都成? 这种漏洞是完全可能的,

 
中间层,这样可以减少客CLIENT的更新。
 
sql语句全放数据库里做成包,前台和中间层干干静静的,维护起来容易
 
同意:jzx, 时间:2003-8-4 19:09:00, ID:2083603
sql语句全放数据库里做成包,前台和中间层干干静静的,维护起来容易
 
请教jzx和gmc001:这样翻在数据库里不是会增加一次访问数据库的操作吗
放在中间层的sql语句可以用简单的算法加密,这样打开也看不到啊
不过确实是在中间层增加了些文件
 
可定是放在中间层,否则就是假的三层!
 
尽量依赖服务器的触发器,存储过程,约束等来完成
 

Similar threads

回复
0
查看
1K
不得闲
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
875
DelphiTeacher的专栏
D
后退
顶部