请教两个问题

tankerwang 2004-04-17 11:20:12
1.李维的《ADO/MTS/COM+》一书第九章中说协调对象用TDCOMConnection调用数据对象的Provider时需要在DELPHI的VCL源代码中修改两处地方,请问这两个修改在DELPHI7.0中还要修改吗?
2.MTS/COM+的程序设计概念是以无状态对象为主(李维书语),但有时也不得不用有状态对象,比如如何通过客户端动态设定服务端COM+组件中的ADOconnection.connectstring,让该客户端自行选择数据库?在MIDAS中我试过直接在IAPPSERVER接口中添加一个LoginDB的函数给客户端调用,传入一个DATABASENAME,并生成一个ConnectionString赋给ADOConnection,但是在MTS/COM+中我用同样的方法却不能成功,是不是因为MTS/COM+是无状态对象的缘故?请问在MTS/COM+中应该怎样实现?
...全文
50 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tankerwang 2004-04-20
  • 打赏
  • 举报
回复
终于搞定了。
哈哈
上面的方法果然可行啊。
tankerwang 2004-04-20
  • 打赏
  • 举报
回复
李维的第八单中有一个Shared Property Manager(SPM),可以用来存储组件的状态。
我想是否可以得用这个MTS/COM+的功能来实现我的第二个问题?
我的想法是这样的。
客户端调用COM+组件的logindb(sDBname,sCookie)方法,该方法生成一个Cookie串(可以用CreateClassID生成一个GUID),并以此COOKIE串为属性名,创建一个SPM属性pty,pty.value=sDBname,最后将此cookie传回客户端,
客户端获取数据时调用com+组件的getdata(sCookie),该方法传入一个cookie串,COM+组件通过该COOKIE串到SPM中寻找相应的sDBname,再赋给ADOConnection。
不知此方法是否可行。
我马上去试试噢。
热心的高手多多帮忙啊。
tankerwang 2004-04-20
  • 打赏
  • 举报
回复
delphi的帮助吗?好像没有吧。
Erice 2004-04-19
  • 打赏
  • 举报
回复
别听李大嘴的,自己看看帮助,什么都有。
exia 2004-04-19
  • 打赏
  • 举报
回复
关注
exia 2004-04-19
  • 打赏
  • 举报
回复
关注
tankerwang 2004-04-19
  • 打赏
  • 举报
回复
那么我的第二个问题应该如何实现呢?
hwz_119 2004-04-17
  • 打赏
  • 举报
回复
同意楼上
luo_jian_dong 2004-04-17
  • 打赏
  • 举报
回复
我上面的那位第一个问题说错拉
我试过拉,在Delphi 7 中不用修改
可以直接获得接口


你的第2 个问题,
MTS/COM+是无状态对象,所以不行
eboywy 2004-04-17
  • 打赏
  • 举报
回复
1,先说明一下。李维的修改是有条件的,就是要在中间层用DCOM。实际上D不这样用完全可以实现所有的功能,个人认为比李维说的还要来的好一些。在D7中当然也是要改的。
2,这个问题应该和对象状态没有很大的关系。实现的话要在COM+中数据模块所在的对象中加入一个方法,存取数据前用此方法动态设置客户端传来的字串。

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧