我在开发一个分布式MIS系统
我首先写了程序服务器建了数据模块,用了DATABASE+QUERY+DataSetProvider
和后台SQLserver7。0数据库连接是成功的!
在写客户端的时用了DCOMconnection+ClientDataSet在DCOMconnection中COMPUTERNAME和SERVERNAME都设好了!连接是成功的!
在ClientDataSet中RemoteServer和ProviderName也是可以的(因为已和服务端向连),但是在设ClientDataSet.Active:=Ture(让数据端激活)却说要“必需加载一个DLL”这是为什么!希望个大虾帮帮忙!

解决方案 »

  1.   

    确认TDatabase的HandleShared是不是True?缺省是False,应该改一下。
      

  2.   

    三级数据库需要midas.dll等很多个dll的,并不是一个,可能你那个dll丢了。
      

  3.   

    现在我是在一台机器上做的!以后是在INTRANET 上应用的!
    MIDAS,DLL我是通过数据模块自己注册的!会有问题吗?
    出错是在设ClientDataSet.Active:=Ture(即让CLIENTDATASET 的属性ACTIVE成TRUE时弹出一个抱错框“必需加载一个DLL”其他什么也没写!
    我想有可能是MIDAK。DLL注册的问题!请高手帮帮忙!谢谢
      

  4.   

    http://www.ronggui.com/images/newimage/song.htm
      

  5.   

    你在前端使用DCOMConnection,必须安装DCOM for win95,如果是WIN98、NT则没有这个问题
      

  6.   

    用这个SocketConnection就不会有问题了,效果很好
      

  7.   

    copy midas.dll到windows系统目录下或你的EXE目录下即可了
      

  8.   

    对,推荐对SocketConnection连接,只是服务端要启动scktsrvr.exe(在delphi的安装目录下),Dcom在配置麻烦得很
      

  9.   

    对,推荐用sockedconnedtion连接,只是中间层要运行一个scktsrvr.exe(在DELPHI的安装目录下),DCOM配置麻烦得很
      

  10.   

    推荐你服务器端还是使用ADO连接数据库,因为使用TDatabase对于长字符串数据会造成部分字符丢失。
    客户端要确认是否已经正确注册了midas.dll
      

  11.   

    我明白你的意思了其实就是现在在开发的一台机器上运行对吗?CLIENTDATASET的ACTIVE设置成TRUE时就出错了对吧?那请问你这个CLIENTDATASET对应的DSP是不是返回的是数据集??他是做什么操作出的错。。不是指ACTIVE而是指做哪一类操作时出的错。。比如用户数据集的取得。。之类的。。还是要往表里插一条数据时出的错?????
      

  12.   

    我在改ClientDataSet的属性ACTIVE成TRUE时就出错!
      

  13.   

    是要加载这个midas.dll的啊,不然三层怎么运行,不过还有就是在程序单元中加入uses midas;也可以
      

  14.   

    怎么加载MIDAS.DLL不清楚!请赐教!