本人作了个COM+服务器作测试用:
MTSDATAMOUDLE:AdoConnect+ADOQrY+datasetprovider
有以下两个接口
function LOGIN(USERID,PWD:WideString):shortint;
function GetDATA(sqL:widestring):oleVariant;
想实现这样安全的效果:如果用户登陆成功,则将连接字串赋给ADOCONNECT,
否则不赋ADOCONNECT值.客户端:ClientDataSet+datasource+socketconnect
如果将SOCKET连上,调用APPSVR的GETDATA后不关闭SOCKETCONN
则可以有上面的效果,但本人想这样:每次取数据后关闭SOCKET连接!!
这样就导致连接串为空了!!!
请问如何做才可以做到:
每次取数据后关闭SOCKET连接,且防止不安全的因素???

解决方案 »

  1.   

    function GetDATA(sqL:widestring):oleVariant;在这个口里面,最后一行给ConnectionString 赋空值!
      

  2.   

    cjianwen:我就是需要断开SCOKET连接,但又保持登陆时服务器上的ADOCONNECT,该怎么作??
      

  3.   

    那就在客户端的 调用 appsvr 后,将 socketConnection的connect:=false;这样可以吗?
      

  4.   

    这样服务器端RDM被释放了.所以ADOCONNECTION的连接串为空,每次调用都须LOGIN一次才可