Home
        TOMO 2 - Repositorio CISC
         Contents
1.     1 OR    BOD_ID    2 OR  BOD  ID  11 OR    BOD_ID     12 OR  BOD_   1 OR  BOD_ID    2 OR    BOD_ID  11 OR  BOD_ID    12 OR    BOD_   1 OR  BOD ID      2 OR  BOD  ID          SELECT  BOD  ID   BOD  NOM    BOD LOC  FROM    bodega    WHERE  BOD_ID    11 OR  BOD_ID    12 OR  BOD_   SELECT  BOD_ID     BOD_NOM   BOD_LOC  FROM    bodega    WHERE  BOD ID    1 OR    BOD_ID    2 OR  BOD  ID  SELECT  BOD  ID    BOD NOM    BOD LOC  FROM    bodega    WHERE  BOD  ID    11 OR  BOD_ID    12 OR  BOD_        1 OR  BOD  ID    2 OR    BOD  ID  11 OR    BOD ID      12 OR  BOD_     SELECT    BOD ID    BOD  NOM   BOD  LOC  FROM    bodega    WHERE  BOD ID     1 OR  BOD_ID    2 OR  BOD ID    SELECT  BOD  ID   BOD NOM   BOD LOC  FROM    bodega    WHERE    BOD  ID          NN                           SELECT  BOD_ID    BOD_NOM       BOD_LOC  FROM  bodega  WHERE    BOD  ID                             SELECT  BOD  ID    BOD  NOM    BOD  LOC  FROM    bodega    WHERE  BOD_ID    11 OR  BOD  ID      12 OR  BOD    SELECT  BOD_ID   BOD_NOM      BOD_LOC  FROM    bodega    WHERE  BOD_ID    1 OR  BOD_ID    2 OR    BOD_ID    SELECT  BOD  ID   BOD  NOM   BOD  LOC  FROM    bodega    WHERE  BOD ID    11 OR  BOD_ID    12 OR  BOD_   SELECT  BOD_ID   BOD_NOM     BOD_LOC    FROM    bodega    WHERE  BOD_ID      1 OR  BOD_ID    2 OR  BOD  ID        SELECT    BOD    BOD_NOI Bo FROM    bodega WHERE BOD  11 OR    BOD ID 12 OR    BOD              mylog_2296_prueba sql   Bloc de notas  Archivo Edici  n Formato Ver Ayuda    S
2.   BOD_NOM   BOD LOC                                                                       l 1   ARCHIVO BANCO CENTRAL   ARCHIVO BANCO CENTRAL     2   ARCHIVO SUPER BANCOS   ARCHIVO SUPER BANCOS     4   ARCHIVO BANCO PICHINCHA   ARCHIVO BANCO PICHINCHA                                                                         3 rows in set  0 00 sec     mysql gt  i        Gr  fico 6  Replicaci  n semi s  ncrona esclavo       root replica  usr local mysql    Archivo Editar Ver Terminal Solapas Ayuda      gt        nueva      prestamos      tipodoc      user I  18 rows in set  0 00 sec     mysql gt  install plugin rpl semi sync slave soname  semisync slave so    Ouery OK  0 rows affected  0 10 sec     mysql gt  set global rpl semi sync slave enabled   1   Ouery OK  0 rows affected  0 01 sec     mysql gt  stop slave io thread  start slave io thread   Query OK  O rows affected  0 01 sec     Query OK  O rows affected  0 00 sec     mysql gt  select   from bodega                                                                          BOD ID   BOD_NOM   BOD LOC                                                                             1   ARCHIVO BANCO CENTRAL   ARCHIVO BANCO CENTRAL     2   ARCHIVO SUPER BANCOS   ARCHIVO SUPER BANCOS      4   ARCHIVO BANCO PICHINCHA   ARCHIVO BANCO PICHINCHA   E             3 rows in set  0 00 sec     Imysqi gt  E E          Claro que no es sencillo apreciarlo mediante im  genes  as   que procedemos a mostrar a  mostrar el archivo donde se guardan los
3.   CONTROL  Log queries by PID and    DataBase  IDC CHECK save queries by pid db    Button  BS_AUTOCHECKBOX   WS_TABSTOP 12 26 148 10  END    Con esto tenemos listo el checkbox si queremos compilamos para visualizarlo  hay que    tomar en cuenta que en estos momentos no hace nada     Gr  fico 13  Checkbox para las sentencias creado   Flags 1   Flags 2   Flags3 Debug  ss Settings   Misc Options        Log queries to myodbc sql      Log queries by PID and DataBase       coco  _     Dentro del archivo    C  mysql connector odbc 5 1 6 util  installer h    en la estructura    DataSource creamos la variable     BOOL save queries by pid db     18    Esta nos servir   para obtener y escribir el valor en los registros     En el mismo archivo creamos la macro      define FLAG LOG QUERIES BY PID DB  FLAG SAFE  lt  lt  7     Esta se usar   para el control del checkbox     Ahora hay que proceder a grabar en los registros del sistema si se activa esta funci  n   para esto primero creamos el nombre del registro editando el archivo    C  mysql     connector odbc 5 1 6 util  installer c       static SQLWCHAR W_LOG_QUERY          L   0   G       Q   U   E   R   Y   O      static SQLWCHAR W_LOG_QUERIES_BY_PID_DB       CESSO Ga OA UERR Ty E Sg ABRIO     P   I   D    F  is    D   B  Q      static SQLWCHAR W_NO_CACHE          N   0O    Sy  C    A    C    H    E  0      Con el nombre que se le asigna a la variable es el con el cual se va a guardar en los    registros     Ahora en el mismo archivo pr
4.   my_log file  0     Lo que se procede a hacer en esta funci  n es terminar de crear el nombre del archivo para  posteriormente pasar a guardar las sentencias  claro que no se puede guardar en una  variable global porque se puede usar un solo DSN para que varias aplicaciones accedan a    la base de datos lo cual podr  a hacer una incorrecta combinaci  n de los archivos     Ahora procedemos a hacer las llamadas necesarias a la funci  n  El archivo que  principalmente se usa para ejecutar las sentencias es    C  mysql connector odbc     5 1 6 driver myutil h execute c        En la funcion     SQLRETURN do_query STMT FAR  stmt char  query     Agregamos    MYLOG_BACKUP_QUERY  stmt  query      Para mandar a escribir las sentencias     Ahora procedemos a compilar y a instalar con el archivo Install bat    28    Gr  fico 15  Archivos Creados       C mylog_2296_data sql   Bloc de notas    Archi Edi Formal Ver Ay       SELECT Config  nvalue FROM MSysConf SELECT    bodega     BOD  ID    FROM    SELECT    BOD_ID      BOD_NOM    BOD_LOC FROM    bodega    WHERE  BOD  ID     SELECT  BOD  ID      BOD_NOM      BOD  LOC  FROM    bodega    WHERE  BOD_ID   SELECT  BOD  ID      BOD_NOM     BOD  LOC  FROM    bodega    WHERE  BOD ID     SELECT  BOD_ID   BOD_NOM   BOD_LOC    FROM    bodega    WHERE  BOD_ID   SELECT  BOD_ID   BOD_NOM   BOD_LOC    FROM    bodega    WHERE  BOD_ID   SELECT  BOD  ID      BOD_NOM      BOD LOC  FROM    bodega    WHERE  BOD_ID     o  o   PO  o  Q  w    is                  
5.   server_id  2   Start binlog_dump to slave_server 2   pos proyecto     Start semi sync binlog_ dump to slave  server_id  2      pos proyecto bin 000013  5725037                 Ln 222  Col 57 INS    En las dos   ltimas l  neas podemos apreciar que la replicaci  n semi sincrona fue iniciada    con el servidor esclavo     Si en alg  n momento queremos reiniciar el servidor y no perder las configuraciones    realizadas debemos agregar en el archivo  etc my cnf    10    En el maestro     mysqld   rpl_semi_sync_master_enabled   1  rpl_semi_sync_master_timeout   1000    En el esclavo     mysqld     rpl semi sync slave enabled   1    11    MANUAL DE USUARIO DEL ODBC    En esta secci  n se va a proceder a explicar el correcto uso del ODBC modificado en este    proyecto  S  lo nos vamos a concentrar en lo que se le ha agregado     Entre los archivos que tenemos del conector ODBC de MySQL vamos a encontrar un  archivo llamado    install bat    ejecutamos este archivo el cual va a proceder a la    instalaci  n del driver de conexi  n     La instalaci  n crear   un directorio llamado log queries en el disco c   en donde se    guardar  n los registros de todas las transacciones realizadas por el cliente al servidor   Ahora procedemos a crear un DSN normalmente y damos clic en el bot  n Details     Gr  fico 8  Configurando el conector ODBC    MySQL Connector ODBC Data Source Configuration    MYSA  Connector ODBC    Connection Parameters       Data Source Name        Description          S
6.  A B   if   A    gt dbc  gt ds      gt save_queries by pid db       backup query _print  A   gt dbc  A   gt dbc  gt my_query_log  char   B        define MYLOG DBC BACKUP QUERY A B   if   A   gt ds      gt save_queries by pid db       backup_query_print  A    A   gt my_query_log   char   B       Cada vez que agregamos hagamos un llamado a estas macros se llamar   a la funci  n que  procedera a escribir en los archivos las sentencias generadas por el usuario  Por esta    raz  n en este mismo archivo se debe declarar aquella funci  n    void backup query print DBC  dbc  FILE    my log file  char  query      Donde DBC es un puntero que nos permita accesar a la estructura que tiene los valores    de conexion a la base de datos     Ahora en el archivo    C  mysql connector odbc 5 1 6 driver myutil h utility c       procedemos a escribir la funci  n     void backup query print DBC  dbc FILE    my log file  char  query     int pid     26    char archive_name 7     DRIVER BACKUP FOLDER     char c pid 6      pid   getpid       itoa pid c_pid 10      strcat archive_name   char  dbc  gt name        ifdef WIN32    strcat archive_name             else    strcat archive_name           tend if    strcat archive_name   mylog        strcat archive_name c_pid      strcat archive name          strcat archive_name   char    dbc sdatabase      strcat archive_name   sql       if    my log file   fopen archive_name   a      gt      27    fprintf my log file   s  n   query      fclose my_log file    
7.  C  log_queries new    Herramientas    i Carpetas    Ayuda    Ei        Carpetas  B Escritorio  E B Mis documentos  E Y mec    4 Disco de 3   A        Se Disco local  C    E  5  AgenteCliente  El    Archivos de programe     E O c   E  5  connector c     5  Documents and Se  hola  E  5  log_queries     3  data          Archivo SQL  1 KB    mylog_872_data sql  Archivo SQL  1 KB    mylog_1268_data sql    Archivo SQL    14    MANUAL T  CNICO DEL ODBC    Lo que se plantea hacer como parte de la soluci  n es usar el ODBC para extraer la  informaci  n que env  an los usuarios hacia el servidor  S  lo se explicar   lo que se hizo  para este proyecto ya que el conector ODBC es un proyecto grande que fue iniciado    desde hace varios a  os   El compilador que se va a usar es el de Visual Studio 2008 Express Edition     Luego de haber usado el CMAKE para hacer las configuraciones necesarias procedemos    a abrir el archivo     Abrimos el archivo    MySQL Connector ODBC sln    aqu   veremos del lado izquierdo  dentro de las ra  ces del   rbol las librer  as y los archivos en C necesarios para compilar el    conector     15    Gr  fico 11  Abriendo el c  digo fuente del ODBC    EN MYSA Connectar NDNC   Visunl C   2008 xpress F ditian                               o LE Chake R des  i  ef msroLL_fcros r de  i  El CMake ste cxt  O Bry bases  a   BE Sorzs Fles  C  iy iasi sa  2 E Make  sts zxt  l  a ry  bob  3  Be Sor  gt Flos  i 4 ny bl t    i  E  Cabe  sts ist  Se Buy t3 se      2 so za Fle
8.  cambios  este se puede encontrar de la carpeta   usr local mysql data en este caso el nombre del archivo es proyecto com err donde    proyecto es el nombre del maestro     Gr  fico 7  Registro de la base de datos Maestro    L   proyecto com err   usr local mysql data    gedit   ox  Archivo Editar Ver Buscar Herramientas Documentos Ayuda    B BW  Q e E    Nuevo Abrir Guardar Imprimir       o B      Pegar Buscar Reemplazar     D proyecto com err x   ILI  UD  MUCEXES aru TW_UUCRAS USE LOUD  gt  UWI Amp tementatruNn     100922 14 55 58 InnoDB  highest supported file format is Barracuda   100922 14 55 58 InnoDB Plugin 1 0 6 started  log sequence number 44438  100922 14 55 58  Note  Event Scheduler  Loaded 0 events   100922 14 55 58  Note   usr local mysql bin mysqld  ready for connections   Version   5 5 3 m3 log  socket    tmp mysql sock  port  3306 MySQL  Community Server  GPL   100922 15 11 15  Note   bin 000004  456   100923 11 13 09  Note   bin 000013  343   100923 12 22 14  Note   bin 000013  509                                To    Start binlog dump to slave_server 2   pos proyecto   Start binlog_dump to slave_server 2   pos proyecto     Start binlog_dump to slave_server 2   pos proyecto     100923 13 21 26  Note   100923 13 21 26  Note   100923 13 39 52  Note   100923 13 39 52  Note   bin 000013  5725037    100923 13 39 52  Note        Semi sync replication initialized for transactions   Semi sync replication enabled on the master    Stop asynchronous binlog dump to slave
9.  n el JDBC para la conexi  n con la base en caso que se lo  necesite    e Configuraciones  Aqu   se encuentra el archivo    Par  metros txt    en el cual    pondremos las configuraciones para el correcto funcionamiento del Agente     Por cada DSN que tengamos en un cliente deberemos llenar los siguientes par  metros en    el archivo    Par  metros txt        dsn   El nombre del DSN que se est   usando     30    ipservidor   La IP del servidor escrita en el momento que se cre   el DSN     puerto   El n  mero de puerto que se est   usando MySQL  3306 es el valor por omisi  n      usuario   El usuario que se usa para conectarse a la base  puede ser el mismo usado al    momento de crear el DSN      contrase  a   La contrase  a usada por el usuario antes descrito     baseDatos   Nombre de la base de datos a la que se conecta el DSN     rutaLogs   La ruta donde se est  n guardando los archivos  sql generados por el ODBC     en este caso c   log_queries        ipReplicacion   La IP del servidor de replicaci  n que se usar   para replicar la    informaci  n dentro de los archivos  sql en caso de que el servidor principal falle     replicaci  nAutomatica   Si se desea que se haga la replicaci  n inmediatamente cuando  se encuentre un error en la comunicaci  n  se deber   poner el valor de 1 caso contrario se    pondr   0     tiempoLectura   Tiempo de lectura en el cual se va a indicar cada cuantos segundos se    debe leer el Log del driver ODBC     intentosComunicacion   Cantidad de v
10. C  Gr  fico 13 18    Checkbox para las sentencias creado    Gr  fico 14  Registro agregado en Windows    Gr  fico 15  Archivos Creados    24    29    RESOLUCI  N DEL PROYECTO    INICIANDO REPLICACI  N EN MYSQL    Se debe tomar en cuenta que tanto el maestro como el esclavo se puedan comunicar por  el puerto 3306  que es el puerto por defecto con el que trabaja MySQL  Tambi  n se  asumir   que ha sacado respaldo del maestro y los ha ejecutado en el esclavo en el caso de    que tenga informaci  n ingresada   Tambi  n que el servidor usado como de replicaci  n exista en el archivo  etc hosts     La replicaci  n presente es la llamada maestro     esclavo que es la b  sica  y hay que  recordar que la replicaci  n es as  ncrona  El tiempo de replicaci  n por defecto es de 60    segundos    La IP asignada al maestro va a ser 192 168 100 10 y la del esclavo 192 168 100 20  Los siguientes pasos ser  n para el servidor maestro    En el archivo  etc my cnf debemos tener los siguientes valores    log bin   proyecto bin    server id 1    bin address 0 0 0 0  Para permitir conexiones remotas    skip name resolve  Si no se usa dominio    Ahora procedemos a reiniciar el servidor MySQL para que lea las opciones dadas     Ingresemos a MySQL y creemos una cuenta para que el servidor de replicaci  n se pueda    conectar a la base de datos     mysql gt  grant replication slave on     to    mysqlrepl         proyecto com         gt  identified by    replica86      Con esto hemos creado un usuario 
11. ELECT Config  nvalue FROM MSysConf  SHOW TABLE STATUS     SHOW TABLE STATUS LIKE    empresa       SHOW KEYS FROM    empresa           SELECT    empresa      EMP  ID  FROM    empresa         i    SELECT  EMP  ID   EMP  NOM   EMP  DES  FROM    empresa    WHERE  EMP_ID         1        SELECT  EMP  ID  EMP_NOM      EMP  DES  FROM    empresa    WHERE  EMP_ID   1 OR  EMP ID      2 OR  EMP_II  SELECT  EMP  ID      EMP  NOM    EMP DES  FROM    empresa    WHERE    EMP  ID      7      DELETE FROM    empresa    WHERE    EMP_ID    7 AND  EMP NOM      _utf8 PROBA  AND    EMP  DES      _utf8 PROBA  COMMIT     Como podemos darnos cuenta los archivos tienen la numeraci  n    2296    este es el PID  del programa en este caso es el mismo porque se ha ingresado a diferentes bases por  medio del mismo programa por eso tambi  n se escribe el nombre de la base en el    archivo     29    MANUAL DE USUARIO DEL AGENTE    Para la instalaci  n del agente debemos primero copiar la carpeta AgenteCliente en el  disco C    luego ejecutamos el archivo    instalador bat    con esto el Agente iniciar   cada    vez que se inicie el sistema operativo     Si se quiere cambiar la ubicaci  n del Agente se debe editar los archivos    instalador bat       y    ejecutable bat        En el directorio del Agente tenemos tres carpetas m  s     e AgenteClienteFuentes  Aqu   se encuentra el c  digo fuente del Agente    e AgenteClienteClases  Aqu   se encuentran las clases compiladas y listas para  usarse as   como tambi 
12. Replicacion int indiceDsn          this indiceDsn   indiceDsn   lecturaCL   new LecturaConfiguraciones     try     Class forName  com mysql jdbc Driver   newlnstance      catch Exception ex       Cargamos el controlador del jdbc para conectarnos a la base si es    necesario         public void probarComunicacionBasePrincipal         String cadenaConexion   try         cadenaConexion    jdbc mysql       super ipServidor this indiceDsn     34            super baseDatos this indiceDsn            user     super usuario this indiceDsn     8      password     super contrasefia indiceDsn    DriverManager getConnection cadenaConexion      Intentamos conectarnos a la base si no nos podemos conectar nos vamos    por el error      catch SQLException e          probarComunicacionBaseSecundaria            Si no podemos conectarnos con el servidor probamos la comunicaci  n con    el servidor de replicaci  n     public void probarComunicacionBaseSecundaria       String cadenaConexion   try     cadenaConexion    jdbc mysql       super ipReplicacion this indiceDsn             super baseDatos this indiceDsn           35       user     super usuario this indiceDsn     8       password     super contrasefal indiceDsn    DriverManager getConnection cadenaConexion    Ahora probamos la comunicaci  n con la base de replicaci  n si se logra  conectar el agente procede a ir a la funci  n para replicar las sentencias en    los archivos  sql      catch SQLException e       void ReplicarQueries      Conn
13. UNIVERSIDAD DE GUAYAQUIL    FACULTAD DE CIENCIAS MATEM  TICAS Y F  SICAS  CARRERA DE INGENIER  A EN SISTEMAS  COMPUTACIONALES    AUMENTO DE LA DISPONIBILIDAD DE BASES DE DATOS  MYSQL UTILIZANDO UNA CONFIGURACI  N  DE BASE EN MODO DE ESPERA E  INSTALACI  N DE AGENTES  PARA AUTOMATIZAR  CONEXIONES    TESIS DE GRADO    Previa a la obtenci  n del T  tulo de     INGENIERO EN SISTEMAS COMPUTACIONALES    AUTOR  POLL MIGUEL CEDE  O TELLO  TUTOR  ING  RAYNAUD QUIROZ  GUAYAQUIL     ECUADOR    2011    Guayaquil  11 de Octubre del 2010    APROBACI  N DEL TUTOR    En mi calidad de Tutor del trabajo de investigaci  n     Aumento de la  disponibilidad de bases de datos MySQL utilizando una configuraci  n de  base en modo de espera e instalaci  n de agentes para automatizar  conexiones    elaborado por el Sr  Poll Miguel Cede  o Tello  egresado de la  Carrera de Ingenier  a en Sistemas Computacionales  Facultad de Ciencias  Matem  ticas y F  sicas de la Universidad de Guayaquil  previo a la obtenci  n  del T  tulo de Ingeniero en Sistemas  me permito declarar que luego de haber  orientado  estudiado y revisado  la Apruebo en todas sus partes     Atentamente    Ing  Raynaud Quiroz  TUTOR    DEDICATORIA    Agradezco a Dios que me ha dado la fuerza  y capacidad para llegar hasta aqu    as   como  a mi familia que me ha estado apoyando en  toda la trayectoria de mi carrera tanto en las  buenas como en las malas     111    iv    TRIBUNAL DE GRADO    Ing  Fernando Abad Montero Ing  Juan Chanaba Al
14. YISAM   ACTIVE   STORAGE ENGINE   NULL   GPL       MyISAM   ACTIVE   STORAGE ENGINE   NULL   GPL I     partition   ACTIVE   STORAGE ENGINE   NULL   GPL       ARCHIVE   ACTIVE   STORAGE ENGINE   NULL   GPL I     BLACKHOLE   ACTIVE   STORAGE ENGINE   NULL   GPL       FEDERATED   DISABLED   STORAGE ENGINE   NULL   GPL I     InnoDB   ACTIVE   STORAGE ENGINE   NULL   GPL I     INNODB TRX   ACTIVE   INFORMATION SCHEMA   NULL   GPL       INNODB_LOCKS   ACTIVE   INFORMATION SCHEMA   NULL   GPL I     INNODB LOCK WAITS   ACTIVE   INFORMATION SCHEMA   NULL   GPL       INNODB_CMP   ACTIVE   INFORMATION SCHEMA   NULL   GPL       INNODB_CMP_RESET   ACTIVE   INFORMATION SCHEMA   NULL   GPL I     INNODB CMPMEM   ACTIVE   INFORMATION SCHEMA   NULL   GPL       INNODB_CMPMEM RESET   ACTIVE   INFORMATION SCHEMA   NULL   GPL I     PERFORMANCE SCHEMA   ACTIVE   STORAGE ENGINE   NULL   GPL       rpl_semi_sync_master   ACTIVE   REPLICATION   semisync_master so   GPL I                                                                                                    19 rows in set  0 00 sec    mysql gt       Ahora se debe habilitar las variables globales de esta replicaci  n ya que por defecto est  n    deshabilitadas     En el maestro se ejecuta lo siguiente     mysql gt  set global rpl semi sync master enabled    1     mysql gt  set global rpl semi sync master timeout    1000     Con esto le decimos que esta activada la replicaci  n semi s  ncrona y que el tiempo va a    ser de 1 segundo     Ahora 
15. _intprop ds  gt name   W LOG QUERY   ds ssave queries   goto    error     if  ds_add_intprop ds  gt name  W LOG QUERIES BY PID DB  ds      gt save_queries_by_pid_db   goto error     if  ds_add_intprop ds  gt name  W NO CACHE  ds  gt dont_cache_result   goto    error     En la funci  n    void syncTabs HWND hwnd  DataSource  amp params     Agregamos    ds  gt save_queries   options     FLAG LOG QUERY   gt  0     ds  gt save_queries_by pid_db   options     FLAG_LOG_QUERIES BY PID DB   gt  0     ds  gt dont_cache_result   options 8 FLAG NO CACHE   gt  0     En la funci  n    ulong ds get options DataSource  ds     Agregamos    if  ds  gt save queries     22    options   FLAG LOG QUERY     if  ds  gt save_queries_by_pid_db     options   FLAG LOG QUERIES BY PID DB     if  ds  gt dont_cache_result     options   FLAG NO CACHE     Ahora en el archivo       C  mysql connector odbc 5 1 6 setupgui windows odbcdialogparams cpp       En la funcion     void syncTabsData HWND hwnd  DataSource  amp params     Agregamos        debug      GET_BOOL 4 save_queries      GET_BOOL 4 save_queries_by_pid_ db      Esto nos permite obtener el valor de esta variable  el n  mero 4 es por el valor que tiene la    pesta  a Debug    En la funci  n    23    void syncTabs HWND hwnd  DataSource  amp params     Agregamos    SET_BOOL DEBUG_TAB save_queries by pid db      En el archivo    C  mysql connector odbc 5 1 6 installer myodbc3i c    En la funci  n    int list_datasource_details DataSource  ds     Agregam
16. c    user I   4    18 rows in set  0 00 sec     mysql gt       REPLICACION SEMI SICRONA    Ahora vamos a iniciar con la replicaci  n semi sincrona a diferencia de la replicaci  n    normal esta tiene un tiempo para replicar por defecto de 10 segundos     Lo primero que se debe hacer es instalar el Plug in     En el maestro     mysql gt  install plugin rpl semi sync master soname    semisync_master so           gt         Si este comando nos devuelve alg  n tipo de error debemos revisar que el Plug in se    encuentre en el siguiente directorio  usr local mysql lib plugin     Ahora en el esclavo tambi  n lo instalamos pero el que corresponde al esclavo     mysql gt  install plugin rpl semi sync slave soname    semisync_slave so      Para ver los Plug in   s instalados ejecutamos el siguiente comando     mysql gt  show plugins     En el listado que se muestra a continuaci  n podemos ver instalado el Plug in resiente     Gr  fico 4  Plug in   s instalados    E root proyecto  usr local mysql   ox    Archivo Editar Ver Terminal Solapas Ayuda       Query OK  O rows affected  0 04 sec  E  mysql gt  show plugins                                                                                                     Name   Status   Type   Library   License                                      Hon                                        binlog   ACTIVE   STORAGE ENGINE   NULL   GPL       csv   ACTIVE   STORAGE ENGINE   NULL   GPL I     MEMORY   ACTIVE   STORAGE ENGINE   NULL   GPL       MRG_M
17. c  cer  DECANO DE LA FACULTAD DIRECTOR  CIENCIAS MATEMATICAS Y FISICAS    Ing  Raynaud Quiroz Inga  Ana Maria Arellano  TUTOR PROFESOR DEL AREA   TRIBUNAL  Ing  Juan Carlos Cedefio Dr  Jos   Jupiter    PROFESOR DEL AREA     TRIBUNAL SECRETARIO    UNIVERSIDAD DE GUAYAQUIL    FACULTAD DE CIENCIAS MATEM  TICAS Y F  SICAS  CARRERA DE INGENIER  A EN SISTEMAS  COMPUTACIONALES    AUMENTO DE LA DISPONIBILIDAD DE BASES DE DATOS  MYSQL UTILIZANDO UNA CONFIGURACI  N  DE BASE EN MODO DE ESPERA E  INSTALACI  N DE AGENTES  PARA AUTOMATIZAR  CONEXIONES    MySQL es una de las bases de datos libres y de c  digo abierto m  s usadas en muchos  ambientes laborales  Tiene un sin n  mero de herramientas   tiles y para cada lugar de trabajo   Este proyecto busca mejorar una de las   reas de MySQL que es la replicaci  n  El problema se  debe a que el m  todo de replicaci  n es as  ncrono esto significa que no es inmediato y que se  debe esperar cierta cantidad de tiempo para que la informaci  n se replique  y este tiempo va a  depender de varios factores como pueden ser hardware  software  configuraciones  por estos  motivos se puede dar el caso de que al momento de replicar la informaci  n no llegue o llegue  incompleta  La soluci  n que se plantea consiste en extraer del cliente las consultas que se  env  an a la base de datos y guardarlos en archivos  para lograr esto se procedi   con la edici  n  del c  digo fuente del ODBC  agregando tambi  n una funci  n la cual va a estar indicando si  las co
18. de nombre    mysqlrepl    con contrase  a    replica86    el    cual solo va a servir para la replicaci  n     A continuaci  n ejecutamos los siguientes comandos     mysql gt  flush tables with read lock     mysql gt  show master status     En este momento vamos a tener la siguiente salida     Gr  fico 1  Estado del Maestro    Show Master Status       mysql gt  show master status    gt       1 row in set  0 00 sec     Aqu   copiamos los valores de File y Position  Ejecutamos el comando   shell gt  unlock tables     Para continuar con la escritura de datos en el maestro  Estos son los pasos necesarios    ahora procedemos con el esclavo    En el archivo  etc my cnf del esclavo debemos tener lo siguiente     mysqld    server id 2   Reiniciamos el servicio de mysql    Ahora desde el cliente de mysql del cliente ejecutamos el siguiente comando     mysql gt  change master to       gt MASTER_HOST     proyecto com           gt MASTER_USER  mysqlrepl         gt MASTER_PASSWORD     replica86           MASTER LOG FILE     proyecto bin 000013         MASTER LOG POS 509     Con esto indicamos los par  metros de conexi  n al maestro     Por   ltimo iniciamos el esclavo con     mysql gt  start slave     Para probar que todo est   funcionando crearemos una base de datos e importaremos un    respaldo  En mysql procedemos a crear una base de datos    mysql gt  create database data     Ahora desde una terminal de Linux importamos el archivo de creaci  n  Para este ejemplo    nos vamos a ubicar 
19. dentro del directorio de instalaci  n de mysql   usr local mysql       bin mysql  u root  p data  lt   super sql    Donde  super sql es donde se encuentra el respaldo  Si todo ha funcionado correctamente  no nos debe presentar ning  n error  Ahora ingresamos a MySQL para comprobar que se    importaron correctamente los datos     mysql gt  use data   mysql gt  show tables     Con estos comandos procedemos a ver la lista de tablas creadas dentro de la base de    datos data  Como la replicaci  n ya ha sido iniciada encontraremos la base de datos    Gr  fico 2  Base de datos    data    creada           root proy ecto  usr local mysqi    ENTE    Archivo Editar Ver Terminal Solapas Ayuda      Tables_in_data        bodega      contenedor      documto      documtoerror      documtop      documtoprint      documtoreport      dpto      empresa      funcionarios      ingbarcode      ingbarcodereport      log I    mdealm      nueva      prestamos      tipodoc      user      18 rows in set  0 00 sec        Gr  fico 3  Base de datos    data    replicada    E rootOreplica  usr local mysql    Archivo Editar Ver Terminal Solapas Ayuda  You can turn off this feature to get a quicker startup with  A    Database changed  mysql gt  show tables     4  o  o     M   gt   pe  iz  a  D     w    bodega    contenedor I  documto I  documtoerror I  documtop I  documtoprint I  documtoreport I  dpto I  empresa I  funcionarios I  ingbarcode I  ingbarcodereport    log I  mdealm I  nueva I  prestamos I  tipodo
20. eDsn        this indiceDsn   indiceDsn   lecturaCL   new LecturaConfiguraciones     hiloLectura   new Thread this    hiloLectura setName Integer toString indiceDsn     hiloLectura start           38    public void leerLog       RandomAccessFile raf   String leerLinea  escribirLinea   String directorioLog   long lineaPosInicial   O  lineaPosFinal   O     Las variables declaradas hasta este momento van a servir para leer las    l  neas del log y modificarlas una vez leidas  directorioLog   lecturaCL rutaLogs indiceDsn    lecturaCL dsn indiceDsn     File separator   lecturaCL dsn indiceDsn      log    try     raf   new RandomAccessFile directorioLog  rw     while  leerLinea raf readLine     null          if leerLinea startsWith  ERROR          ProcesosReplicacion rq   new  ProcesosReplicacion indiceDsn    rq probarComunicacionBasePrincipal 1          39         Si se detecta alg  n error llamamos a la clase    ProcesosReplicacion para que haga su trabajo    if  leerLinea startsWith              113 352    Si la l  nea empieza con significa gue ya ha sido le  da y    no se la toma en cuenta caso contrario se la lee y se le    agrega          para no volverla a leer   lineaPosFinal   raf getFilePointer      lecturaCL saltoLinea length     lineaPoslnicial   raf getFilePointer     leerLinea length      lecturaCL saltoLinea length     escribirLinea          leerLinea   lecturaCL saltoLinea   while  leerLinea raf readLine     null     escribirLinea   escribirLinea   leerlinea    lectu
21. eces que va a intentar comunicarse el agente hacia    el servidor esclavo antes de replicar     31    tiempolntento   El tiempo que se va a tomar entre intentos de comunicaci  n  este tiempo    se va a medir en segundos     cambiarIpDsn   Si se desea cambiar la IP de conexi  n del DSN el valor ser   de 1  caso    contrario el valor debe ser de 0     rutaBat   Ruta del archivo  bat para cambiar la IP del DSN     rutaDestinoLogs   Ruta en donde se guardar  n los registros le  dos despu  s de haber sido    replicados     Si alguna linea empieza con el s  mbolo      no sera tomada en cuenta     32    MANUAL T  CNICO DEL AGENTE    En este manual se hablar   de cada una de las clases que se usan en el agente  as   como    del c  digo usado y su explicaci  n   Clase ProcesosReplicacion    Esta clase ser   la encargada de replicar la informaci  n en los archivos     sql siempre y    cuando exista comunicaci  n con el servidor   El c  digo es el siguiente     import java sql     import java io File   import java io  IOException   import java io  BufferedReader   import java io FileReader   public class ProcesosReplicacion extends LecturaConfiguraciones     protected int indiceDsn     La variable indiceDsn se va a usar para accesar a los arreglos de la clase    LecturaConfiguraciones ya que podemos tener uno o m  s DSN   s y poder tomar la    33    informaci  n correcta del mismo DSN  podremos notar estos arreglos m  s    adelante    LecturaConfiguraciones lecturaCL     public Procesos
22. ection conn   null   Statement instruccion   ResulSet tabla    String linea  directorioLog   File directorio     directoriolog   lecturaCL rutaLogs indiceDsn    lecturaCL dsn indiceDsn     File separator   lecturaCL dsn indiceDsn      log      directorio   new File directorioLog    String    ficheros   directorio list       Tomamos todos los archivos que se encuentren dentro del directorio y los    leemos uno por uno para empezar la replicaci  n     36    for  int i  0 i  lt  ficheros length i       try     BufferedReader br   new BufferedReader new FileReader directorioLog    ficheros i      while  linea br readLine     null      try     cadenaConexion    jdbc mysal        super ipReplicacion this indiceDsn           super baseDatos this indiceDsn            user     super usuario this indiceDsn     8       password     super contrasefia indiceDsn    conn   DriverManager getConnection cadenaConexion    instruccion   conn createStatement     tabla   instrucci  n executeQuery linea       catch SQLException ex      Leemos y ejecutamos linea por linea hasta haber terminado todos los  archivos           37    catch IOException e            Clases LecturaLogs    Esta clase va a leer el log que va a ser generado por cada DSN     import java io File    import java io  L OException    import java io RandomAccessFile    public class LecturaLogs extends Thread      protected Thread hiloLectura   protected int indiceDsn   LecturaConfiguraciones lecturaCL     public LecturaLogs int indic
23. ello  como requisito previo para optar por    el t  tulo de Ingeniero cuyo problema es     AUMENTO DE LA DISPONIBILIDAD DE BASES DE DATOS  MYSQL UTILIZANDO UNA CONFIGURACI  N DE BASE EN  MODO DE ESPERA E INSTALACI  N DE AGENTES PARA  AUTOMATIZAR CONEXIONES    considero aprobado el trabajo en su totalidad   Presentado por   Poll Miguel Cede  o Tello 0922634670  Apellidos y Nombres completos C  dula de ciudadan  a N    Tutor  Ing  Raynaud Quiroz    Guayaquil  de         NDICE GENERAL    CAR  TULA   CARTA DE ACEPTACI  N DEL TUTOR  DEDICATORIA   TRIBUNAL   RESUMEN   ABSTRACT   CERTIFICADO DE APROBACI  N    NDICE GENERAL     NDICE DE GR  FICOS  RESOLUCI  N DEL PROYECTO  MANUAL DE USUARIO DEL ODBC  MANUAL T  CNICO DEL ODBC  MANUAL DE USUARIO DEL AGENTE  MANUAL T  CNICO DEL AGENTE    vi  vii    viii    12  15  30  33    viii    1X    INDICE DE GRAFICOS    Pag   Gr  fico 1 3  Estado del Maestro    Show Master Status     Grafico 2 5  Base de datos    data    creada  Grafico 3 6  Base de datos    data    replicada  Gr  fico 4 7  Plug in   s instalados  Gr  fico 5 9  Replicaci  n semi s  ncrona maestro   Gr  fico 6 9  Replicaci  n semi s  ncrona esclavo  Gr  fico 7 10  Registro de la base de datos Maestro  Gr  fico 8 12  Configurando el conector ODBC  Gr  fico 9 13  Activando la opci  n    Log queries by PID and DSN     Gr  fico 10 14  Archivos donde se guardan las transacciones y el log del DSN   Gr  fico 11 16  Abriendo el c  digo fuente del ODBC  Gr  fico 12 16  Secci  n DEBUG en ODB
24. en el esclavo ejecutamos     mysql gt  set global rpl_semi_sync_slave enabled   1     Al igual que en el maestro se debe indicar que la replicaci  n semi s  ncrona est   activada     Ahora debemos re inicializar el hilo de entrada y salida del esclavo     mysql gt  stop slave io thread  start slave io thread     Ahora procederemos a hacer una prueba para comprobar el funcionamiento como  estamos en un ambiente de prueba la replicaci  n debe hacerse casi inmediata  por esto    vamos a hacer 3 sentencias en el maestro      Gr  fico 5  Replicaci  n semi s  ncrona maestro    l root proyecto  usr local mysql  1X    Archivo Editar Ver Terminal Solapas Ayuda   mysql gt  select   from bodega                                                                     BOD ID   BOD_NOM   BOD LOC I                                           1   ARCHIVO BANCO CENTRAL   ARCHIVO BANCO CENTRAL      2   ARCHIVO SUPER BANCOS   ARCHIVO SUPER BANCOS                                                                 2 rows in set  0 00 sec     Tel       mysql gt  insert into bodega values  3  ARCHIVO BANCO A2UAY    ARCHIVO BANCO AZUAY     Query OK  1 row affected  0 00 sec     mysql gt  insert into bodega values  4     ARCHIVO BANCO PICHINCHA      ARCHIVO BANCO PICHINCHA     Query OK  1 row affected  0 00 sec     mysql gt  delete from bodega where BOD_ID 3   Query OK  1 row affected  0 00 sec     mysql gt  select   from bodega                                            4                               BOD ID 
25. erver    localhost Port    3306    User    root  Password       rrr  Database    data y Test    Details  gt  gt  Cancel Help       12    Se nos desplegar   un anexo a la ventana conteniendo varias pesta  as  Seleccionamos la  pesta  a    Debug    y damos click para activar la casilla    Log queries by PID and DSN        finalmente damos click en el bot  n    OK    para guardar las configuraciones realizadas     Gr  fico 9  Activando la opci  n    Log queries by PID and DSN       Flags 1   Flags 2   Flags 3 Debug   SSL Settings   Misc Options    I Log queries to myodbc sql          Dentro del directorio c  log_queries crearemos un nuevo directorio  nueva carpeta  con el  mismo nombre del DSN que creamos anteriormente  aqu   se guardar  n todas las  transacciones generadas en archivos con extensi  n  sql  y sus nombres van a estar dados    de la siguiente manera     mylog_NombreDeLaBaseDeDatos_PIDdelPrograma        EI PID de un programa es el identificador del proceso con que se ejecuta el programa     13    Dentro de la carpeta tambi  n se crear   un archivo con el nombre del DSN y de extensi  n    log  Este archivo nos indicar   si las transacciones est  n siendo ejecutadas correctamente    grabando el estado de    TRANSACCION OK     y en caso de que haya habido un error se    grabar   el estado    ERROR        Gr  fico 10  Archivos donde se guardan las transacciones y el log del DSN     Edici  n Ver Favoritos    Archivo    Q atr  s      amp     A   B  squeda    Direcci  n   
26. ew FileReader archivoParametros       while  linea br readLine     null        if  linea startsWith           if linea startsWith  dsn      cantidad_dsn                  catch IOException e       43    dsn   new String cantidad dsn     ipServidor   new String cantidad dsn     puerto   new String cantidad_dsn     usuario   new String cantidad_dsn     contrase  a   new String cantidad_dsn     baseDatos   new String cantidad_dsn     rutaLogs   new String cantidad_dsn     ipReplicacion   new String cantidad_dsn    replicacionAutomatica   new String cantidad_dsn      Se van a crear arreglos de variables dependiendo de cu  ntas configuraciones de    DSN   s se van a encontrar en el archivo    Par  metros txt       try    inti  1   br   new BufferedReader new FileReader archivoParametros       while  linea br readLine     null          if    linea startsWith               if linea startsWith  dsn             i       44         br close       dsn i    linea substring linea indexOf        1       if linea startsWith  ipServidor    amp  amp  i   1      pServidor i    linea substring linea indexOf        1    if linea startsWith  puerto    amp  amp  i   1    puerto i    linea substring linea indexOf        1    if linea startsWith  usuario    amp  amp  i   1    usuario i    linea substring linea indexOf        1    if linea startsWith  contrasefia    amp  amp  i   1    contrase  ali    linea substring linea indexOf        1    if linea startsWith  baseDatos    amp  amp  i   1    baseDat
27. formation can be replicated and this time will depend on several factors such as  hardware  software  configurations  for these reasons it may be the case when comes the  moment to replicate the information  this information does not arrive or arrive incomplete   The solution that arises is to extract customer queries that are send to the database and save in  files  to achieve this we proceeded with the release of the ODBC code source  also adding a  function which will be indicate if queries are running correctly  otherwise if you cannot run it  will write an error message in a register held by the name of the DSN  It will install both  agents clients like a slave server  The agent may be found on the slave communication  registers you with the teacher  if you were to lose the communication was made necessary  settings for the server to work as a teacher in order to receive the queries sent by all clients   The agent on the client will be responsible for reading the record with the name of the DSN   to detect any error messages shall carry out processes to replicate the information stored  so  that no loss of it     vil    CERTIFICADO DE ACEPTACI  N DEL TUTOR    En mi calidad de Tutor del Primer Curso de Fin de Carrera  nombrado por el  Departamento de Graduaci  n y la Direcci  n de la Carrera de Ingenier  a en  Sistemas Computacionales de la Universidad de Guayaquil   CERTIFICO    Que he analizado el Proyecto de Grado presentado por el la  egresado a  Poll Miguel Cede  o T
28. nsultas se est  n ejecutando correctamente  caso contrario si alguna no se puede ejecutar  se escribir   un mensaje de error en un registro que llevar   el nombre del DSN  Se proceder   a  la instalaci  n de agentes tanto en los clientes como en un servidor esclavo  El agente que se  encontrar   en el servidor esclavo estar   censando la comunicaci  n con el maestro  si se  llegara a perder la comunicaci  n se realizar  n las configuraciones necesarias para que el  servidor funcione como maestro para as   poder recibir las consultas enviadas por todos los  clientes  El agente en el cliente va a estar encargado de leer el registro con el nombre del  DSN  al detectar alg  n mensaje de error proceder   a realizar procesos para replicar la  informaci  n almacenada  para que as   no exista p  rdida de esta     vi    UNIVERSIDAD DE GUAYAQUIL    FACULTAD DE CIENCIAS MATEM  TICAS Y F  SICAS  CARRERA DE INGENIER  A EN SISTEMAS  COMPUTACIONALES    AUMENTO DE LA DISPONIBILIDAD DE BASES DE DATOS  MYSQL UTILIZANDO UNA CONFIGURACI  N  DE BASE EN MODO DE ESPERA E  INSTALACI  N DE AGENTES  PARA AUTOMATIZAR  CONEXIONES    MySQL is one of the free data base and open source used in many workplaces  It has  different useful tools for each Workplace  This project seeks to improve one of the area of  MySQL that is the replication  The problem is that the method of replication is asynchronous  this means that is not immediate and it needs to expect a certain amount of time in order to  that this in
29. ocedemos a agregar a la cadena que escribe en los registros    nuestra variable creada     19    static const    SQLWCHAR  dsnparams     W_DSN  W DRIVER  W DESCRIPTION  W SERVER     W UID  W PWD  W DATABASE  W SOCKET  W INITSTMT     W PORT  W_OPTION  W_CHARSET     W_REPLICATION_SERVER  W_SSLKEY     W_SSLCERT  W_SSLCA  W_SSLCAPATH  W_SSLCIPHER     W_SSLVERIFY  W_READTIMEOUT  W_WRITETIMEOUT     W_FOUND_ROWS  W BIG PACKETS  W NO PROMPT     W DYNAMIC CURSOR  W NO SCHEMA   W NO DEFAULT CURSOR  W NO LOCALE  W_PAD SPACE   W FULL COLUMN NAMES  W COMPRESSED PROTO   W IGNORE SPACE W NAMED PIPE W NO BIGINT    W_NO_CATALOG  W_USE_MYCNF   W_SAFE W_NO_TRANSACTIONS  W_LOG_QUERY     W LOG QUERIES BY PID DB  W NO CACHE     W FORWARD CURSOR  W_AUTO_RECONNECT   W AUTO IS NULL W ZERO DATE TO MIN     W MIN DATE TO ZERO     20    W MULTI STATEMENTS  W_COLUMN_SIZE_S32     W_NO_BINARY_RESULT  W_DFLT_BIGINT BIND STR     W_ACTIVE_SERVER      En el mismo archivo dentro de la funci  n    void ds_map_param DataSource    ds  const SQLWCHAR  param  SQLWCHAR       strdest  unsigned int   intdest  BOOL   booldest     Agregamos lo siguiente     else if   sqlwcharcasecmp W_LOG_QUERY  param       booldest  8ds  gt save queries     else if   sqlwcharcasecmp W_LOG_QUERIES BY _PID DB  param       booldest   amp ds  gt save_queries_by_pid_db     else if   sqlwcharcasecmp W_NO CACHE  param       booldest   amp ds  gt dont_cache result     En la funci  n    int ds_add DataSource  ds     21    Agregamos     if  ds_add
30. os     if  ds  gt save_queries by pid db  printf  XtLOG_QUERIES_BY_PID DBAn       Estos son los cambios necesarios para guardar y extraer de los registros el valor del    checkbox al momento de activar esta opci  n     Gr  fico 14  Registro agregado en Windows    2  Editor del Registro       Archivo Edici  n Ver Favoritos Ayuda    a E mec Nombre Tipo Datos     E HKEY_CLASSES_ROOT  ab   Predeterminado  REG_SZ  valor no establecido   ig  HKEY_CURRENT_USER lab  DATABASE REG 57 data    a a HKEY_LOCAL_MACHINE  ab  Driver REG_SZ C  WINDOWS system32 myodbc5 dll  H  HARDWARE          E G SAM Ex  REG_SZ 1  Y SECURITY  ab PORT REG_52 3306     SOFTWARE  ab Pwp REG 52 agente86  Ga C07Ft5y  ab SERVER REG_SZ localhost   A Classes  ab  UID REG_5Z agente   J Clients       A Gemnlic    24    Ahora hay que escribir lo que van a hacer estas funciones    En la archivo    C  mysql connector odbc 5 1 6 driver driver h    definimos las siguientes    macros     Hif defined  APPLE       define DRIVER _QUERY_LOGFILE   tmp myodbc sql      define DRIVER_BACKUP_ FOLDER   tmp log queries       elif defined _UNIX_      define DRIVER _QUERY_LOGFILE   tmp myodbc sql      define DRIVER_BACKUP_ FOLDER   tmp log queries       else     define DRIVER _QUERY_LOGFILE  c   myodbc sql      define DRIVER_BACKUP_FOLDER  c   log queries        endif    Esta es la carpeta donde se guardar  n las sentencias     En el archivo    C  mysql connector odbc 5 1 6 driver myutil h    agregamos     25     define MYLOG BACKUP QUERY
31. os i    linea substring linea indexOf        1    if linea startsWith  rutaLogs    amp  amp  i   1    rutaLogs i    linea substring linea indexOf        1    if linea startsWith  ipReplicacion    amp  amp  i   1    ipReplicacion i    linea substring linea indexOf        1    if linea startsWith  replicacionAutomatica    amp  amp  i   1      replicacionAutomatica i    linea substring linea indexOf         1      45    catch IOException e             Este ultimo proceso va a indicar que cada vez que se encuentre una linea del parametro    dsn comience a guardarlo en el numero x de los arreglos     Clase AgenteCliente    Esta clase va a llevar la funci  n main y es la que inicia todo el proceso creando e    iniciando los objetos de las otras clases que se van a usar  Su c  digo es el siguiente     public class AgenteCliente         public static void main String    arg          LecturaConfiguraciones lecturaC   new LecturaConfiguraciones       Creamos e iniciamos el objeto de la clase LecturaConfiguraciones para leer los    par  metros del archivo    Par  metros txt     as   como inicializar par  metros globales     for int i 0 i lt lecturaC cantidad_dsn  i        System out println i    LecturaLogs lecturaL   new LecturaLogs i      lecturaL start       46         Tambi  n creamos un objeto de la clase LecturaLogs por cada configuraci  n de DSN    encontrado e inicializamos los hilos para que empiecen a leer los logs     47    
32. raCL saltoLinea     raf seek lineaPoslnicial    raf writeBytes escribirLinea      raf seek lineaPosFinal      raf close       40         catch IOException e            public void run         synchronized this      while true      leerLog     try     Thread sleep 3 1000       catch InterruptedException ex                     Aqui procedemos a leer los archivos indefinidamente hasta que se termine la ejecuci  n    del agente     41    Clase LecturaConfiguraciones    Esta clase es la que va a leer las configuraciones iniciales del archivo    Par  metros txt       import java io FileReader   import java io  BufferedReader     import java io   OException     public class LecturaConfiguraciones      protected String archivoParametros   protected String saltoLinea   protected String dsn     protected String ipServidor     protected String puerto     protected String usuario     protected String contrase  al    protected String baseDatos     protected String rutaLogs     protected String ipReplicacion     protected String replicacionAutomatical       protected int cantidad dsn     42    public LecturaConfiguraciones       String linea   BufferedReader br   cantidad dsn   0   archivoParametros   System getProperty  archivo_parametros       Es el par  metro que se le env  a al momento de ejecutar la clase desde linea de    comando  va a guardar la direcci  n donde se encuentran las configuraciones    saltoLinea   System getProperty  line separator     try     br   new BufferedReader n
33. s  C   my_bugl 3 66      i  E CMake  ts ixt    ir b  k  SB sue Fl  e my_buk c  2  El CMake steixt  Qa a my cazaog  3   Soszarles  gala   i El cake  sts irt  iS EH ry cure  3 E So r sFles EJ  d ee  B                      row okat fiom  alada   i   4 fede Derritior vindoa Col Ercwsar E vutput Boo marta  Sf Find Rcsul s 1    Peacy          Ahora lo primero vamos a poner la opci  n que vamos a crear dentro la secci  n Debug en    Details del ODBC ya que se relaciona con lo que vamos a hacer     Gr  fico 12  Secci  n DEBUG en ODBC    Flags 1   Flags 2   Flags3 Debug  ss Settings   Misc Options      T Log queries to myodbc sql       7 ee       16    Primero en el archivo    C  mysql connector odbc 5 1 6 setupgui windows resource h       agregamos una variable para el checkbox siguiendo el formato de variables creadas      define IDC CHECK save queries by pid db 10040    Ya que los archivos que se van a guardar deben diferenciarse por la aplicaci  n que se usa  y por la base de datos  para que no interfiera en las sentencias generada por otras    aplicaciones     Ahora procedemos a crear el checkbox dentro de la pesta  a Debug  para esto editamos el    archivo    C  mysql connector odbc 5 1 6 setupgui windows  odbcdialogparams rc       IDD TABA DIALOGEX 0  0  209  151    STYLE DS SETFONT   DS FIXEDSYS   WS CHILD    FONT 8   MS Shell Dlg   400  0  0x1    BEGIN    CONTROL  Log queries to myodbc sql  IDC CHECK save queries      Button  BS AUTOCHECKBOX   WS _TABSTOP 12 12 148 10    17  
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
Manuel d`utilisation  Olympus Stylus 410 Digital Quick Start Guide  Projet Ecoparc Neuchâtel (Suisse)  QUASAR - 400W MAX Z-12012-A  dl05dr-d i/o specifications  MANUEL D`UTILISATION SHINDAIWA TRONÇONNEUSE  Epson T5270 User's Guide  IT - Scorpio Polska    Copyright © All rights reserved. 
   Failed to retrieve file