我用‘remote datamodual’做服务端时,
两个以上的多客户端连接出现‘Name not unique in this context’错误???

解决方案 »

  1.   

    要用一个TSession自动编号.  AutoSessionName属性吧.试试吧.每个线种会自已创建一个数据模板的实例,就有问题了.
      

  2.   

    .  AutoSessionName属性为True
      

  3.   

    李维的《DELPHI5.X分布式多层应用 系统篇》书上详细说了这个问题,解决方法如上有两种:(参见 [3-43]  TDatabase 的HandleShared 和TSession的关系这一节
    第一种: 不放TSession控件,将你放的TDatabase控件的HandleShared属性设置为True(默认为False)。
    第二种: 放置TSession控件,将它的AutoSessionName 属性设置为True 。程序上的TDatabase控件的HandleShared属性设置可以设置为False。
      

  4.   

    不要将连接元件放在远程模块中,如BDE的TDatabase、ADO的TADOConnection、dbExper的TSQLConnection等元件。
      

  5.   

    李维《DELPHI5X分布式多层应用系统篇》的2-15页有详细的说明,请查阅。
      

  6.   

    把Database构件的HandleShared:=true;
      

  7.   

    楼上各位说的HandleShared,AutoSessionName都有什么用啊不要将连接元件放在远程模块中,如BDE的TDatabase、ADO的TADOConnection、dbExper的TSQLConnection等元件。~~~
    ~~有什么理由吗
      

  8.   

    不要将连接元件放在远程模块中,如BDE的TDatabase、ADO的TADOConnection、dbExper的TSQLConnection等元件。可以另建一个数据模并在远程模块中引用,‘Name not unique in this context’指的就是数据库名冲突,我也遇到这问题,另建一个数据模将TDatabase Copy到这个数据模就一切OK!
      

  9.   

    同意dolphin2001(抢包山) 的做法
      

  10.   

    服务器上的Database的HandleShared:=true;