Jorgelig Blog

Jorgelig Blog, mi lado Friki al natural…
Julio 31, 2008

Llegaron los natares al server 2 de Travian Mexico

Author: jorgelig - Categories: Travian


Ahora que los días son mas cortos y las noches se vuelve mas frias, la gente en Travian sabe que el fin de esta era esta cerca.

Maravilla del Mundo Las grandes historias de batallas gloriosas y de edificios pomposos, de las últimas edades era toda lo que seguía siendo. Pero la gente decidió que ésta no debería ser la manera en que esta era debía terminar.

Sin embargo, tristemente, el conocimiento sobre las gloriosas Maravillas del Mundo estaba perdido, tomado por los sepulcros de los antepasados muertos. Poco antes de que las personas perdieran toda esperanza, la atención se dirigió hacia una antigua tribu, Los Natars. Esta tribu que ha sobrevivido al paso de muchas eras y ha librado miles de batallas sangrientas, pudo inmóvil poseer algunos de los planos necesarios para la construcción de las Maravillas del Mundo.

Obviamente los Natars no saldrán de sus aldeas por propia voluntad, de modo que solamente los de mayor coraje y astucia podrán tomar sus aldeas y así construir una Maravilla del Mundo. Al final veremos sí la gente de esta era puede satisfacer su promesa de hechos gloriosos y valerosos, por que solamente así podrán ser recordados por las eras todavía por venir.

(Historia por ForFour y traducida por Dark Shadow)

¿Te gusto el post o te fue de utilidad?, puedes cooperar para comprarme un cafe y seguir publicando jeje :D

Julio 17, 2008

Como traer campos a un datagrid o gridview desde un query con la sentencia concat

Author: jorgelig - Categories: Programacion - Tags: , , , ,

Les paso un tip a los que andan en las mismas, trabajando un un proyecto (si vieran cada cosa rara que le piden a uno en las instituciones finanicieras :S) intente llenar un gridview con una sencilla consulta como esta:
SELECT D.id_deposito As ID, D.id_empleado As Empleado,D.monto As Deposito,D.Fecha,IF((D.registrado=0),'CANCELADO','REGISTRADO')As Estado,C.num_cuenta As Cuenta,CONCAT(D.periodo_inicio,D.periodo_final)As Periodos FROM depositos D INNER JOIN Cuentas C ON C.id_cuentas=D.id_cuenta WHERE registrado=1;

Donde el campo problematico era donde concateno los periodos que abarca el deposito, en su campo correspondiente me aparecia “System.Byte[]“; investigando encontre que la funcion Concat no regresa un String propiamente, sino un arreglo de bytes. La solucion fue convertirlo a chars con la funcion CAST():
CAST(cadena_de_caracteres AS tipo_de_datos CHARACTER SET nombre_de_conjunto_de_caracteres)

En mi caso el primer parametro fue el resultado de la Funcion Concat y lo convertir a CHAR, quedando de esta manera:
SELECT D.id_deposito As ID, D.id_empleado As Empleado,D.monto As Deposito,D.Fecha,IF((D.registrado=0),'CANCELADO','REGISTRADO')As Estado,C.num_cuenta As Cuenta,CAST(CONCAT(D.periodo_inicio,D.periodo_final)AS CHAR)As Periodos FROM depositos D INNER JOIN Cuentas C ON C.id_cuentas=D.id_cuenta WHERE registrado=1;

Para este ejemplo se usó aspx con vb detras y coneccion a una BD Mysql 5.0.x. Espero a alguien mas le sirva y no pierda tiempo buscando :D

¿Te gusto el post o te fue de utilidad?, puedes cooperar para comprarme un cafe y seguir publicando jeje :D

Julio 11, 2008

Como reparar replicaciones MySQL

Author: jorgelig - Categories: WebTip - Tags: , , ,

Ultimamente eh estado investigando un poquito de este tema porque lo estoy usando para un trabajo, asi que les comparto lo que voy aprendiendo.

Por causas aun desconocidas(aun no se mucho del tema) el slave dejo de actualizarse, asi que busque un poco de informacion y encontre que habia que revisar el log de MySQL Server, con lo que encontre esto:
080710 19:07:15 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with “SLAVE START”. We stopped at log ‘mysql-bin.000007′ position 363216

por lo que vemos la ultima posicion en que se quedo del log fue la 363216, para ver el estado de la replicacion abrimos la consola de MySQL(o el Query Browser) y escribmos esta instruccion en el esclavo: “SHOW SLAVE STATUS \G;”(si estas usando el Query Browser usa “SHOW SLAVE STATUS;”) y nos mostrara algo como esto:
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 1.2.3.4
Master_User: slave_user
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.001079
Read_Master_Log_Pos: 269214454
Relay_Log_File: slave-relay.000130
Relay_Log_Pos: 100125935
Relay_Master_Log_File: mysql-bin.001079
Slave_IO_Running: Yes
Slave_SQL_Running: No
Replicate_Do_DB: mydb
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 1146
Last_Error: Error ‘Table ‘mydb.taggregate_temp_1212047760′ doesn’t exist’ on query. Default database: ‘mydb’.
Query: ‘UPDATE thread AS thread,taggregate_temp_1212047760 AS aggregate
SET thread.views = thread.views + aggregate.views
WHERE thread.threadid = aggregate.threadid’
Skip_Counter: 0
Exec_Master_Log_Pos: 203015142
Relay_Log_Space: 166325247
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: NULL
1 row in set (0.00 sec)

Si Slave_IO_Running o Slave_SQL_Running dice No, entonces procederemos a reparar la replicacion introducioendo las siguientes instrucciones en la consola de MySQL( sin las comillas y despues de cada ; un enter eh :P):

      Paramos el esclavo: “STOP SLAVE;” (si no paramos el esclavo la siguiente intruccion no funcionará)
      Con esta instruccion ignoramos la ultima consulta(la del error :D): “SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;”
      Ahora iniciamos el esclavo de nuevo: “START SLAVE;”
      Y verificamos que todo este en orden: “SHOW SLAVE STATUS \G;”
      Si todo esta en orden deberiamos ver algo asi:

    *************************** 1. row ***************************
    Slave_IO_State: Waiting for master to send event
    Master_Host: ipdelhost
    Master_User: user_mysql
    Master_Port: 3306
    Connect_Retry: 10
    Master_Log_File: mysql-bin.000010
    Read_Master_Log_Pos: 87299
    Relay_Log_File: Jorgelig_Lap-relay-bin.000054
    Relay_Log_Pos: 7504
    Relay_Master_Log_File: mysql-bin.000010
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
    Replicate_Do_DB: elarco
    Replicate_Ignore_DB:
    Replicate_Do_Table:
    Replicate_Ignore_Table:
    Replicate_Wild_Do_Table:
    Replicate_Wild_Ignore_Table:
    Last_Errno: 0
    Last_Error:
    Skip_Counter: 0
    Exec_Master_Log_Pos: 87299
    Relay_Log_Space: 7504
    Until_Condition: None
    Until_Log_File:
    Until_Log_Pos: 0
    Master_SSL_Allowed: No
    Master_SSL_CA_File:
    Master_SSL_CA_Path:
    Master_SSL_Cert:
    Master_SSL_Cipher:
    Master_SSL_Key:
    Seconds_Behind_Master: 0
    1 row in set (0.00 sec)

      Ahora salimos de la consola: “quit;”
      En el log ahora deberiamos ver algo asi:

    080711 17:13:53 [Note] Slave SQL thread initialized, starting replication in log ‘mysql-bin.000010′ at position 80030, relay log ‘C:\AppServ\MySQL\data\Jorgelig_Lap-relay-bin.000053′ position: 235
    080711 17:13:54 [Note] Slave I/O thread: connected to master ‘usuario@direccionmaster:3306′, replication started in log ‘mysql-bin.000010′ at position 80030

    Espero esta sencilla guia les sea de utilidad, si tienes algun problema publica tu pregunta en algun foro especializado en soporte de MySQL.

    Fuente | howtoforge

¿Te gusto el post o te fue de utilidad?, puedes cooperar para comprarme un cafe y seguir publicando jeje :D

Julio 8, 2008

Algunos links para Replicacion con Mysql

Author: jorgelig - Categories: WebTip - Tags: , , , ,

Apenas acabo de meterme un poco mas a fondo con Mysql, normalmente no salia del clasico UPDATE, SELECT con uno que otro INNER JOIN, etc.. pero debido a las necesidades de un sistema en el que estoy colaborando me es necesario hacer cositas un poco mas complejas cada vez. Ahora le toco el turno a la replicacion con Mysql del tipo Master-Slave.

Esta consiste en que todos los datos se guarden en una BD y se puedan tener una o varias “copias” sincronizadas constantemente con la BD maestra. Les ahorro la busqueda y les dejo las guias mejor explicaditas con relacion a este tema, espero les sirva; Cualquier pregunta pueden hacerla al respectivo autor de cada articulo o directamente en el foro.

¿Te gusto el post o te fue de utilidad?, puedes cooperar para comprarme un cafe y seguir publicando jeje :D

Julio 6, 2008

Bonitos Themes para Wordpress

Author: jorgelig - Categories: Wordpress - Tags: , ,

Parece que ultimamente el microblogin se vuelve popular, asi que este será uno mas. Les dejo dos sitios de que nos presentan algunos themes para Wordpress:

Six Revisions: 25 Lindos Themes para Wordpress.
Skin Press: Un repositorio mas de Themes para wordpress, me gusto que hay muchos en tonalidades azules(wii mi color favorito ^^)

¿Te gusto el post o te fue de utilidad?, puedes cooperar para comprarme un cafe y seguir publicando jeje :D