Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
wiki:3.-servidor:3.8.-provisioning:start [2017/11/07 14:06] – [A tener en cuenta. Errores Frecuentes.] patricia | wiki:3.-servidor:3.8.-provisioning:start [2018/11/13 20:27] (actual) – [A tener en cuenta. Errores Frecuentes.] ejetoro | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
+ | {{indexmenu_n> | ||
+ | ====== Provisioning ====== | ||
+ | \\ | ||
+ | Servicio de Windows que realiza el aprovisionamiento de una base de datos para un dispositivo. Filtra la Base de Datos del servidor completa, siguiendo las directrices de selectividad que dicho dispositivo tenga definidas (Master_Replica_Selected).\\ | ||
+ | Como requisito, debe de tener conectividad con la base de datos del cliente.\\ | ||
+ | \\ | ||
+ | |||
+ | La creación de la base de datos, se puede realizar de **dos formas**:\\ | ||
+ | \\ | ||
+ | |Petición por parte del dispositivo, | ||
+ | |Provisión de una base de datos desde el < | ||
+ | |||
+ | \\ | ||
+ | En ambos casos, | ||
+ | \\ | ||
+ | ===== Tablas Asociadas ===== | ||
+ | \\ | ||
+ | El servicio XOne Provisioning tiene asociadas tres tablas, **ADM_PROVISIONING_TASK, | ||
+ | \\ | ||
+ | A continuación podemos ver unas capturas de pantalla de las dos primeras tablas:\\ | ||
+ | \\ | ||
+ | <WRAP center centeralign > | ||
+ | |< 94% 80% >| | ||
+ | ^ 1.- **ADM_PROVISIONING_TASK**. Aquí se da de alta un registro con STATUS=0, el servicio < | ||
+ | | {{ : | ||
+ | </ | ||
+ | <WRAP center centeralign > | ||
+ | |< 94% 80% >| | ||
+ | ^2.- En la tabla **ADM_PROVISIONING_LOGS**, | ||
+ | | {{ : | ||
+ | </ | ||
+ | \\ | ||
+ | ===== Configuración ===== | ||
+ | \\ | ||
+ | El fichero de configuración **Provisioning.Config** se encuentra en la carpeta donde se encuentre el servicio < | ||
+ | \\ | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | |||
+ | <!-- Maximo numero de BD que pueden crearse de forma simultanea --> | ||
+ | <add key=" | ||
+ | |||
+ | <!-- Ruta de donde coge los after-action para cada plataforma. | ||
+ | Esta carpeta, debe existir OBLIGATORIAMENTE y dentro tiene que tener las carpetas de cada plataforma. | ||
+ | Hay que darle permisos al SERVICIO DE RED sobre la carpeta. Si no se cumplen estas condiciones, | ||
+ | <add key=" | ||
+ | |||
+ | <!-- Ruta donde pone las actualizaciones | ||
+ | <add key=" | ||
+ | |||
+ | <!-- Esto es para evitar el reparseo de la selectividad (Por defecto, false) Ver Apartado más abajo... --> | ||
+ | <add key=" | ||
+ | |||
+ | <!-- Esto es para generar base de datos de pc. --> | ||
+ | <add key=" | ||
+ | |||
+ | <!-- Para poner log, 0=No log, 5=Máximo nivel de log. Revisar tanto ADM_PROVISIONING_LOGS, | ||
+ | <add key=" | ||
+ | |||
+ | </ | ||
+ | < | ||
+ | |||
+ | <!-- Conexiones a las bases de datos de Sistema (XOneManager), | ||
+ | <add name=" | ||
+ | <add name=" | ||
+ | |||
+ | <!-- NAME tiene que ser igual al campo NUMERO de la tabla ADM_DATABASES del XOneManager. --> | ||
+ | <add name=" | ||
+ | <add name=" | ||
+ | <add name=" | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | \\ | ||
+ | ===== Atributos ===== | ||
+ | \\ | ||
+ | ==== MaxProvisioningProcess ==== | ||
+ | \\ | ||
+ | Número máximo de Procesos de Provisionamiento activos al mismo tiempo. (Si hubiera más de 1, se crea una cola).\\ | ||
+ | \\ | ||
+ | ==== RepositoryPath ==== | ||
+ | \\ | ||
+ | Ruta donde se encuentra la estructura de carpetas del Provisioning. \\ | ||
+ | \\ | ||
+ | |La carpeta especificada debe existir.| | ||
+ | |Debe ser una ruta con permisos para el SERVICIO DE RED.| | ||
+ | |Dentro de esta carpeta estará la estructura de carpetas correspondiente a las distintas plataformas del proyecto. (Android, Iphone...).| | ||
+ | \\ | ||
+ | ==== XoneLivePath ==== | ||
+ | \\ | ||
+ | Ruta donde finalmente se ponen las actualizaciones (Ruta del < | ||
+ | \\ | ||
+ | ==== LogLevel ==== | ||
+ | \\ | ||
+ | Para dejar log en el **Visor de Sucesos** de los errores que se puedan producir y en ADM_PROVISIONING_LOGS.\\ | ||
+ | Los valores son 0 para NO dejar log y 5 para que se haga log de todo. \\ | ||
+ | \\ | ||
+ | ==== Using-SubQueries ==== | ||
+ | \\ | ||
+ | Este atributo (por defecto a false), se pondrá a true cuando la condición de la tabla master_replica_selected (CRITERIA) sea muy enrevesada e imparseable, | ||
+ | \\ | ||
+ | Si se pone a true, se utiliza una subquery, que NO provocará error al hacer el parseo del CRITERIA, pero la SQL será más lenta...\\ | ||
+ | \\ | ||
+ | \\ | ||
+ | **Ejemplo con Using-< | ||
+ | \\ | ||
+ | <code sql> | ||
+ | SELECT * FROM tabla WHERE rowid IN ( subselect CRITERIA ) | ||
+ | </ | ||
+ | \\ | ||
+ | Además, existe también una posibilidad, | ||
+ | Si este campo **CRITERIAPROVISIONNING** estuviese vacío, se coge lo que esté definido en el CRITERIA de la selectividad, | ||
+ | \\ | ||
+ | ===== Librerías SQLite ===== | ||
+ | \\ | ||
+ | Como a día de hoy, la base de datos a generar es SQLite, necesitaremos tener instaladas en el servidor las librerías necesarias para poder generar bases de datos en este formato.\\ | ||
+ | \\ | ||
+ | Descargamos las librerías para SQLite de la página:\\ | ||
+ | \\ | ||
+ | http:// | ||
+ | \\ | ||
+ | En principio, la descarga que nos interesa es la que haya en los apartados: | ||
+ | \\ | ||
+ | |Setups for 32-bit Windows (.NET Framework 4.5) | | ||
+ | |Setups for 64-bit Windows (.NET Framework 4.5) | | ||
+ | \\ | ||
+ | |||
+ | Copiamos las DLL que nos haya instalado en la carpeta " | ||
+ | \\ | ||
+ | |||
+ | |||
+ | |||
+ | =====Optimización Provisioning===== | ||
+ | \\ | ||
+ | |||
+ | A partir de la versión **2.1.2.5 del XOne Provisioning**, | ||
+ | |||
+ | \\ | ||
+ | ===== A tener en cuenta. Errores Frecuentes. ===== | ||
+ | \\ | ||
+ | ^ Errores Frecuentes | ||
+ | |1.- Si el servicio es reiniciado mientras se estaba efectuando una provisión (campo STATUS=1 en ADM_PROVISIONING_TASK), | ||
+ | |< | ||
+ | \\ | ||
+ | El síntoma será que nos creará el registro en la tabla ADM_PROVISIONING_TASK pero no llegará a procesarse por el servicio. | ||
+ | {{ : | ||
+ | |3.- Si en el servidor se ha utilizado algún tipo de dato muy específico de un DBMS, puede haber problemas a la hora de convertir dicho dato a SQLite, revisar las conversiones de datos en el fichero EXPDBMS.XML de la carpeta del provisioning, | ||
+ | |4.- Si el dispositivo tiene operaciones pendientes de procesarse en la tabla MASTER_REPLICA_IQUEUE, | ||
+ | |||