Running 2 Data Abstract 1 pc

I cant run another DataAbstract server if im running another different. I need both running same time.

“DataAbstractServer is already running on this host”

If both servers use a different port, that should be no problem. Just make sure if you run them as service, that both get registered under. unique name — which might be the cause of the message you are seeing.

i have ports:

ServerChannel1: 9880

ServerChannel2: 9201.

Ok. do you have unique service names set? What platform are your servers, Delphi or .NET?

Yes, are unique server names in .NET.

When i change port settings in Engine.cs Design, i guess is not aplying changes cause is looking port 9201 anyways in runtime in debug mode.

I’m pretty sure the problem is that both are trying to register under the “DataAbstractServer” name for the Windows service. @antonk?

Hello

Could you send you server code to support@ ? Feel free to remove .daSchema and .daConnections files as they contain data about your database structure and connection parameters.

By default Data Abstract servers contain code that prevents running multiple instances of them on the same host.

This is an optional check however I need to take a look at your codebase to say what exactly you need to do to disable it. It seems that you have either custom or rather old-fashioned server code project (currently DA servers do not contain Engine.cs file by default). That’s why I need to take a look at its project to say what exactly you need to change.

Regards

I guessed i resolve it, in my classes:

      • Server 1 - - -

class RPComercialServer : ApplicationServer
{
private Engine fConsoleEngine;

    protected override String Identifier
    {
        get
        {
            return "60b33012-f38f-40c5-aa12-217daba99bc1";
        }
    }

    protected override String ServiceName
    {
        get
        {
            return "RPComercial Service";
        }
    }

    protected override String ApplicationName
    {
        get
        {
            return "RPComercialServer";
        }
    }
      • Server 2 - - -

      class RPSuiteServer : ApplicationServer
      {
      private Engine fConsoleEngine;

      protected override String Identifier
      {
          get
          {
              return "60b33012-f38f-40c5-aa12-217daba99bc1";
          }
      }
      
      protected override String ServiceName
      {
          get
          {
              return "RPSuite Service";
          }
      }
      
      protected override String ApplicationName
      {
          get
          {
              return "RPSuiteServer";
          }
      }
      

Field Identifier is the same, can i change manually to another identifier? Or is its value important and should not be changed?

You can change Identifier to any string value of reasonable length.
F.e. newer SDK and DA servers use Application Name instead of a random GUID string.

This value is used at runtime to check if there are other instances of the application running.

this it was the problem, thanks.

1 Like