用的是DCOMCconnection控件,要填它的ServerName属性,在这里只能选择本机上已经注册过的应用服务器,
如果我的应用服务器与数据不在同一台电脑上,那应该怎样填啊?
我现在填的是:
ProjectSEVER.REMOTESERVER
如果我的应用服务器与数据不在同一台电脑上,那应该怎样填啊?

解决方案 »

  1.   

    ServerName是字符型的,可以用代码赋值:
    DCOMCconnection1.ServerName:='ProjectSEVER.REMOTESERVER';
      

  2.   

    可能是ip地址吧,DCOM通过代理去连接。
      

  3.   

    在应用服务器端你是如何连接数据库的?用ADO的话是可以设置数据库所在的机器名的
      

  4.   

    1、由机器名,获得IP名,直接用(IP也可)
    2、MSSQL数据库的数据库名
    3、用户名,密码
    使用SQL服务器的连接代码:
    、  statusbar1.Panels[0].text:=' ÕýÔÚÁ¬½Ó...... ';
      aHost:=Trim(Edit4.Text);                       // ·þÎñÆ÷¼ÆËã»úÃû »ò ·þÎñÆ÷¼ÆËã»úµÄIP
      aPort:=Trim(Edit5.Text);                       // Socket.exe µÄ¶Ë¿Ú
      Temp:=Temp+1;
      try
        DataModule1.SocketConnection1.Connected:=False;
        DataModule1.SocketConnection1.Host:=aHost;                                 // ·þÎñÆ÷¼ÆËã»úÃû »ò ·þÎñÆ÷¼ÆËã»úµÄIP
        DataModule1.SocketConnection1.Port:=StrToInt(aPort);                       // Socket.exe µÄ¶Ë¿Ú
        DataModule1.SocketConnection1.ServerName:='Project1.TServer';              // ·þÎñÆ÷Ãû Óɱà³Ìʱȷ¶¨
        DataModule1.SocketConnection1.SupportCallbacks:=True;
        DataModule1.SocketConnection1.Connected:=False;
        DataModule1.SocketConnection1.Connected:=true;
        DataModule1.SocketConnection1.AppServer.ServerShowText('Á¬½Ó£º'+aPCName+'  '+aIP);
        statusbar1.Panels[0].text:=' ²âÊÔ'+InttoStr(Temp)+': ·þÎñÆ÷ '''+Edit4.Text+''' Á¬½Ó³É¹¦...... ';
        WriteToIni(Trim(Edit4.Text),Trim(Edit5.Text));
      except
        statusbar1.Panels[0].text:=' ²âÊÔ'+InttoStr(Temp)+': ÎÞ·¨Á¬½Ó·þÎñÆ÷ '''+Edit4.Text+''' ...... ';
      end;
      

  5.   

    代码:
      statusbar1.Panels[0].text:=' ÕýÔÚÁ¬½Ó...... ';
      aHost:=Trim(Edit4.Text);                       // ·þÎñÆ÷¼ÆËã»úÃû »ò ·þÎñÆ÷¼ÆËã»úµÄIP
      aPort:=Trim(Edit5.Text);                       // Socket.exe µÄ¶Ë¿Ú
      Temp:=Temp+1;
      try
        DataModule1.SocketConnection1.Connected:=False;
        DataModule1.SocketConnection1.Host:=aHost;                                 // ·þÎñÆ÷¼ÆËã»úÃû »ò ·þÎñÆ÷¼ÆËã»úµÄIP
        DataModule1.SocketConnection1.Port:=StrToInt(aPort);                       // Socket.exe µÄ¶Ë¿Ú
        DataModule1.SocketConnection1.ServerName:='Project1.TServer';              // ·þÎñÆ÷Ãû Óɱà³Ìʱȷ¶¨
        DataModule1.SocketConnection1.SupportCallbacks:=True;
        DataModule1.SocketConnection1.Connected:=False;
        DataModule1.SocketConnection1.Connected:=true;
        DataModule1.SocketConnection1.AppServer.ServerShowText('Á¬½Ó£º'+aPCName+'  '+aIP);
        statusbar1.Panels[0].text:=' ²âÊÔ'+InttoStr(Temp)+': ·þÎñÆ÷ '''+Edit4.Text+''' Á¬½Ó³É¹¦...... ';
        WriteToIni(Trim(Edit4.Text),Trim(Edit5.Text));
      except
        statusbar1.Panels[0].text:=' ²âÊÔ'+InttoStr(Temp)+': ÎÞ·¨Á¬½Ó·þÎñÆ÷ '''+Edit4.Text+''' ...... ';
      end;
      

  6.   

    求帮忙找的了winpcap经典论著中文版的不知道怎么下求帮下忙
      

  7.   

      用socketconnection 有什么好的
      

  8.   

      Address := getAddress;
      Port := getPort;
      //准备与服务器建立连接
      if Assigned(FOnLog) then
        FOnLog(GetTickCount, '', '准备建立连接');  FSocketConnection := TSocketConnection.Create(nil);
    //  FSocketConnection.AfterDisconnect := AfterDisconnect;  FSocketConnection.Host := Address;
      FSocketConnection.Port := Port;  
      FSocketConnection.ServerName := 'MyAppServer.MyAppDataServer';
      FSocketConnection.ServerGUID := GUIDToString(CLASS_MyAppDataServer);
      try
        FSocketConnection.Connected := true;
        if Assigned(FOnLog) then
          FOnLog(GetTickCount, '', '连接成功!');
      except
        if Assigned(FOnLog) then
          FOnLog(GetTickCount, '', '连接失败!');
      end;
      //建立远端连接。
      MyAppDataServer := IMyAppDataServerDisp(IDispatch(FSocketConnection.AppServer)); //  CoHDServer.CreateRemote(Address);
      

  9.   

    建议使用SocketConnection,上面有代码。
      

  10.   

    SocketConnection好用。用这个吧
    DCOM用的不多