Acceda a la base de datos remota utilizando la tecnología DataSnap en C ++ Builder 10.1 Berlin

¿Cómo consultar y obtener resultados de una base de datos remota utilizando la tecnología DataSnap en C ++ Builder 10.1 Berlin?

Quiero construir una solución simple que tenga dos aplicaciones de formularios VCL, como cliente (1) y servidor (2), que se ejecutan en dos computadoras con sistema operativo Windows diferentes, conectadas en la misma red local.

Pero no puedo lograr esta tarea simple y esto es lo que intenté hacer:

En la aplicación del servidor (2), uso:

TSQLConnection *SQLConnection1;
TSQLQuery *SQLQuery1;

y cargaré una base de datos SQLite versión 3:

 if (SQLConnection1->Params->IndexOf("Database") == -1)
     {
        SQLConnection1->Params->Add("Database="+Form->DataBaseFile );
     }
     else
     {
        SQLConnection1->Params->Values["Database"] = Form->DataBaseFile;
     }

     try
     {
        SQLConnection1->Connected = true;
     }
     catch (EDatabaseError& E)
     {
       ShowMessage("Exception raised with message" + E.Message);
     }

y ejecutar consulta SQL:

 try
 {
   SQLQuery1->SQL->Text = "query from client app(1)";
   SQLQuery1->Active = false;
   SQLQuery1->ExecSQL();


 }
 catch (Exception& E)
 {
    ShowMessage( "SQLite exception raised with message:\n\n" + E.Message);
    SQLConnection1->Connected = false;
 }

y necesito devolver los resultados de SQLQuery1 a la aplicación cliente (1)

En la aplicación cliente, creo que debería hacer algo como a continuación, pero no estoy seguro, no sé cómo hacerlo correctamente:

TSQLServerMethod *SQLServerMethod1;

SQLServerMethod->SQLConnection = SQLConnection1;

   try{
     SQLServerMethod.ServerMethodName = "TDSUtilityMethods.echoOutStr";
     SQLServerMethod->Params[0]->AsString = "123";
     SQLServerMethod->ExecuteMethod();
     memoOutput->Text = SQLServerMethod->Params[1]->AsString;
  }
   finally{
     SQLServerMethod->Close();
   }

Entonces, el propósito es hacer una aplicación de servidor (2) que aloje y ejecute consultas sql desde la aplicación cliente (1) que envía la consulta sql y espera los resultados. La aplicación (1) que envía consulta SQL es un contenedor de cliente de cromo. Traté de lograr toda esta solución usando TIdHTTPServer en la aplicación de servidor (2) y WebSockets desde la aplicación cliente de Chrome (1), y publiqué una pregunta relevanteaquí pero implementar el protocolo WebSocket (paquetes de codificación / decodificación) es un poco difícil para un desarrollador aficionado. Y luego descubrí que una solución más fácil podría ser usar la tecnología DataSnap. He leído sobreDesarrollo de aplicaciones DataSnap, pero aún no puedo construir esta solución simple, en el sitio web de embarcadero se describen cada componente, pero debido a que soy un desarrollador aficionado, me pareció confuso y difícil completar una tarea simple que parece posible y más fácil de construir usando la tecnología DataSnap que WebSockets . Pero ahora me resultó difícil implementar la tecnología DataSnap, porque hay muchas cosas nuevas que son confusas sin ejemplos.

Por favor, si sabe cómo hacer esto en C ++ Builder 10.1 Berlin, muestre aquí una pequeña muestra de eso.

Respuestas a la pregunta(0)

Su respuesta a la pregunta