AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Administrar bases de datos / HFSQL / Gestión de la replicación / Replicación universal
  • Presentación
  • Base de datos HFSQL Classic: Implementar una replicación mediante programación
  • Etapa 1: Programar el acceso a los archivos HFSQL Classic localmente
  • Etapa 2: Descripción de la réplica
  • Etapa 3: Programación de la réplica
  • Etapa 4: Implementación de la aplicación
  • Base de datos HFSQL Client/Server: Implementar una replicación mediante programación
  • Etapa 1: Programación local del acceso a los archivos
  • Paso 1 bis: Uso de una base de datos que no está en formato HFSQL
  • Etapa 2: Descripción de la réplica
  • Etapa 3: Programación de la réplica
  • Etapa 4: Implementación de la aplicación
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Presentación
La replicación asistida a través de la programación se utiliza para implementar una replicación en una aplicación existente mientras se controla la sincronización en la propia aplicación. El usuario inicia la sincronización directamente a través de la aplicación, sin utilizar ninguna aplicación externa.
La replicación asistida mediante programación permite utilizar todos los modos de replicación disponibles:
  • réplica directa,
  • replicación por servidor con réplica inmediata o periódica.
Base de datos HFSQL Classic: Implementar una replicación mediante programación
WINDEVWEBDEV - Código ServidorHFSQL Classic

Etapa 1: Programar el acceso a los archivos HFSQL Classic localmente

Si una aplicación utiliza la replicación universal asistida, accede a una base de datos local que sólo contiene los datos necesarios.. La base de datos principal (base de datos maestra) sólo se utiliza durante la sincronización.
Por lo tanto, la aplicación debe ser modificada para poder acceder a los archivos de datos locales.. Debes programar:
WINDEVWEBDEV - Código ServidorHFSQL Classic

Etapa 2: Descripción de la réplica

La description de la replicación se realiza en un fichero ".WER" creado por ReplicEdit. ReplicEdit está acostumbrado a:
WINDEVWEBDEV - Código ServidorHFSQL Classic

Etapa 3: Programación de la réplica

La base de datos local se inicializa cuando se realiza la primera sincronización entre la aplicación y la base de datos maestra.. La base de datos maestra se encuentra en el archivo WER generado por ReplicEdit.
Para una replicación asistida directa: Ejemplo de código que se puede utilizar:
// Initializes the replication by passing the zip code to take into account
IF ReplicInfo("MyReplication", replicInitialized) = False THEN
ReplicInitialize("MyReplication", 47012)
END
 
// Starts the synchronization
ReplicSynchronize("MyReplication")
La base de datos local debe ser inicializada una sola vez por ReplicInitialize.
Entonces, se requiere una única sincronización de datos (ReplicSynchronize)
Para una replicación asistida con servidor de replicación: Si se realiza una replicación asistida con servidor de replicación, se debe llamar a ReplicOpen antes de ReplicInitialize para especificar los parámetros del servidor de replicación. Ejemplo:
// Starts the replication on the replication server
ReplicOpen("MyReplication", "", "ReplicationServer", "Flora", "password")
 
// Initializes the replication by passing the zip code to take into account
IF ReplicInfo("MyReplication", replicInitialized) = False THEN
ReplicInitialize("MyReplication", 47012)
END
 
// Starts the synchronization
ReplicSynchronize("MyReplication")
WINDEVWEBDEV - Código ServidorHFSQL ClassicOLE DB

Etapa 4: Implementación de la aplicación

El programa instalación está preparado como para cualquier aplicación estándar.
Importante: Al crear el programa instalación, no pida que se instale la replicación asistida (desmarque "Instalar y configurar los módulos para la replicación universal asistida")..
Recordatorio: Para crear el programa de instalación, en la pestaña "Proyecto", en el grupo "Generación", despliegue "Procedimiento de instalación" y seleccione "Crear procedimiento de instalación".
Replicación asistida directa (sin servidor de replicación): El archivo.WER debe estar incluido en la lista de archivos instalados por la aplicación.. El archivo.WER debe contener todas las características de las rutas a los ficheros de datos maestros utilizados por la aplicación.. El archivo.WER no se puede incluir en la biblioteca (archivo WDL).
Si la ubicación de los archivos de datos de la base de datos maestra se desconoce al crear el archivo.WER, debe especificarse para cada ordenador del usuario final instalado.. Esta operación se puede realizar:
  • en el ordenador del usuario final directamente. Para ello, ReplicEdit debe ser suministrado al usuario. Sin embargo, el usuario tendrá acceso a todas las características de reproducción. Esta solución puede causar problemas de seguridad.
  • por el desarrollador, una vez que el usuario final haya especificado la ruta de la base de datos maestra. A continuación, el.WER se transmite al usuario final para su actualización.
Replicación asistida con servidor de replicación: Si realiza una replicación asistida con servidor de replicación, el archivo.WER debe desplegarse en el servidor de replicación con toda la información relativa a la base de datos maestra.. Para obtener más información, consulte Servidor para Replicación Universal Asistida.
Base de datos HFSQL Client/Server: Implementar una replicación mediante programación
WINDEVWEBDEV - Código ServidorHFSQL Client/ServerOLE DBConectores Nativos

Etapa 1: Programación local del acceso a los archivos

Si una aplicación utiliza la replicación universal asistida, accede a una base de datos local que sólo contiene los datos necesarios.. La base de datos principal (base de datos maestra) sólo se utiliza durante la sincronización.
Por lo tanto, la aplicación debe ser modificada para poder acceder a los archivos de datos locales.. Debes programar:
  • la creación (si es necesario) de los archivos locales.
  • el acceso a estos archivos locales.
El principio es sencillo:
  • Definición de las conexiones a nivel de análisis: Las conexiones deben describirse a nivel de análisis. Cada archivo es associated con una conexión.
  • Configurando las conexiones con ReplicEdit: ReplicEdit se utiliza para configurar estas conexiones con el fin de acceder a las bases de datos maestras.
  • Programación del acceso a los archivos locales: El código de la aplicación se utilizará para cambiar cada conexión a una conexión HFSQL Classic con el fin de utilizar los archivos localmente.
Implementación: Si su aplicación utiliza archivos de datos que requieren o más conexiones (HFSQL Client/Server, accesos nativos, archivos OLE DB, ...): recomendamos que realice las siguientes operaciones:
  • en el editor de análisis: si sus archivos son associated sin conexión, cree tantas conexiones de prueba como sean necesarias. Por ejemplo, si se utilizan datos HFSQL Client/Server y datos Oracle, se deben definir dos conexiones de prueba en el análisis.
  • en tu código, modifica las conexiones associated con los archivos: todo lo que tienes que hacer es modificar los parámetros de las conexiones de prueba a manipular los archivos locales de HFSQL Classic. Por ejemplo, el siguiente código se utiliza para definir una conexión local en archivos HFSQL:
    HOpenConnection("HF_local", "", "", "", "", hAccessHF7)
    HChangeConnection("*", "HF_local")
WINDEVWEBDEV - Código ServidorHFSQL Client/ServerOLE DBConectores Nativos

Paso 1 bis: Uso de una base de datos que no está en formato HFSQL

Para implementar la replicación universal en bases de datos externas (Oracle, etc.), se debe crear un campo de tipo DateTime en cada archivo que tiene en cuenta la replicación. Este elemento deberá ser actualizado por la aplicación cuando se modifique o añada un Record.
Si las bases de datos utilizan zonas horarias diferentes, le recomendamos que utilice un formato universal (por ejemplo, fecha y hora GMT).
Ejemplo: Gestionar un elemento específico para la réplica entre una base de datos HFSQL y una base de datos MySQL:
Se implementa un trigger para rellenar automáticamente el ítem "Itm_DateTime" que se encuentra en la base de datos MySQL:
  • Código del trigger
    TriggerResult is boolean
    TriggerResult = HDescribeTrigger("*", "HADD,HMODIFY,HDELETE,HCROSS,HWRITE", ...
    "AddDateTime", hTriggerBefore)
    IF TriggerResult = False THEN Error(HErrorInfo())
  • Procedure llamada por el gatillo
    PROCÉDURE AddDateTime()
    TestReplic.Itm_DateTime = DateSys()+TimeSys()
WINDEVWEBDEV - Código ServidorHFSQL Client/ServerOLE DBConectores Nativos

Etapa 2: Descripción de la réplica

La replicación se describe en ReplicEdit. Esta herramienta está acostumbrada a:
  • definir los ficheros tenidos en cuenta por la replicación, los filtros tenidos en cuenta a la hora de actualizar los datos. Para obtener más información, consulte Creación de una réplica con ReplicEdit.
  • configurar la ubicación de los ficheros maestros. Todo lo que tiene que hacer es redefinir las conexiones del análisis. La lista de conexiones es devuelta por "Replicación .. description de conexiones" de ReplicEdit. Para obtener más información, consulte Opciones de replicación definidas en ReplicEdit.
Esta información se guarda en un archivo ".WER" creado por ReplicEdit.
WINDEVWEBDEV - Código ServidorWindowsHFSQL Client/ServerOLE DBConectores Nativos

Etapa 3: Programación de la réplica

La base de datos local se inicializa cuando se realiza la primera sincronización entre la aplicación y la base de datos maestra.. Las conexiones a la base de datos maestra se definen en el archivo WER generado por ReplicEdit.
Para una replicación asistida directa: Ejemplo de código que se puede utilizar:
// Initialize the replication by passing the zip code
// to take into account
IF ReplicInfo("MyReplication", replicInitialized) = False THEN
ReplicInitialize("MyReplication", 47012)
END
 
// Starts the synchronization
ReplicSynchronize("MyReplication")
La base de datos local debe ser inicializada una sola vez por ReplicInitialize.
Entonces, se requiere una única sincronización de datos (ReplicSynchronize)
Para una replicación asistida con servidor de replicación: Si se realiza una replicación asistida con servidor de replicación, se debe llamar a ReplicOpen antes de ReplicInitialize para especificar los parámetros del servidor de replicación.
// Starts the replication on the replication server
ReplicOpen("MyReplication", "", "ReplicationServer", "Flora", "password")
 
// Initialize the replication by passing the zip code
// to take into account
IF ReplicInfo("MyReplication", replicInitialized) = False THEN
ReplicInitialize("MyReplication", 47012)
END
 
// Starts the synchronization
ReplicSynchronize("MyReplication")
WINDEVWEBDEV - Código ServidorHFSQL Client/ServerOLE DBConectores Nativos

Etapa 4: Implementación de la aplicación

El programa instalación está preparado como para cualquier aplicación estándar. El archivo.WER debe estar incluido en la lista de archivos instalados por la aplicación.. El archivo.WER debe contener todas las características de las conexiones a las bases de datos maestras utilizadas por la aplicación.
Importante: Al crear el programa instalación, no pida que se instale la replicación asistida (desmarque "Instalar y configurar los módulos para la replicación universal asistida")..
Recordatorio: Para crear el programa de instalación, en la pestaña "Proyecto", en el grupo "Generación", despliegue "Procedimiento de instalación" y seleccione "Crear procedimiento de instalación".
Replicación asistida directa (sin servidor de replicación): El archivo.WER debe estar incluido en la lista de archivos instalados por la aplicación.. El archivo.WER debe contener todas las características de las rutas a los ficheros de datos maestros utilizados por la aplicación.. El archivo.WER no se puede incluir en la biblioteca (archivo WDL).
Si los parámetros para la conexión a las bases de datos maestras son desconocidos cuando se crea el archivo.WER, deben especificarse para cada ordenador de usuario final instalado.. Esta operación se puede realizar:
  • en el ordenador del usuario final directamente. Para ello, ReplicEdit debe ser suministrado al usuario. Sin embargo, el usuario tendrá acceso a todas las características de reproducción. Esta solución puede causar problemas de seguridad.
  • por el desarrollador, una vez que el usuario final haya especificado la ruta de la base de datos maestra. A continuación, el.WER se transmite al usuario final para su actualización.
Para una replicación asistida con servidor de replicación: Si está realizando una replicación asistida con servidor de replicación, el archivo.WER debe desplegarse en el servidor de replicación con la información relativa a las conexiones a las bases de datos maestras.. Para obtener más información, consulte Servidor para Replicación Universal Asistida.
Versión mínima requerida
  • Versión 12
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 23/06/2023

Señalar un error o enviar una sugerencia | Ayuda local