¿ Bug en proyectos de datos ?


([N3] Juanjo) #1

Hola a todos:

Hace unos meses quise comenzar con una pequeña aplicación en V7.

Comencé por la parte de datos (lógico) y algún procesito que llene, inicialice tablas.

Tabla NUMEROS:

Código:   Numérico  Longitud 1 sin decimales y sin signo (de 0 a 255)

Numero:  Numérico  Longitud 1 sin decimales y sin signo (de 0 a 255)

Indice Código único.

En el mismo proyecto de datos, un proceso (inicializar) que hace lo siguiente:

Cargar lista por ID, recorrer lista eliminado fichas

Bucle de 1 a 100 rellenando los datos.

Pues bien, tras instanciar, permisos, etc, al conectarme con vDataClient y ejecutar el proceso INICIALIZAR (varias veces) antes comentado, si veo los datos por codigo aparecen bien (100 lineas), pero si los veo por tabla completa aparecen huecos (200 lineas, 100 con datos y otras 100 vacías, etc) y en vAdmin comienzan a aparecer mensajes de Error vatp Run:FichaLee Error Desconocido.

He estado meses (a ratos ¿eh?) tras esto. He cambiado el proceso a diferentes planos, consultado la ayuda ... El error era absolutamente arbitrario y llegaba incluso a inutilizar el vServer (nube y local) y tener que recurrir a Velneo para reiniciarlo porque desde el panel de control era imposible.

Pues HOY, se me ha ocurrido cambiar la longitud de los campos de 1 (0 a 255) a 2 (0 a 65.535) y funciona a la perfección.

Si Velneo puede reproducir este sencillo ejemplo y comprobar el fallo/efecto se lo agradecería.

Para el resto, si alguien tiene una tabla así diseñada (supongo que es por el ID longitud 1) y le hace "cosas raras" que haga la prueba a ampliarlo. Casualidad que para mis pruebas no necesitaba un código superior a 100 y utilicé la longitud mínima.

Perdón por el ladrillo, pero me parace importante que el plano de datos funcione a la perfección. El plano visual siempre tiene alternativas. Enhorabuena por el producto.

Un saludo. Juanjo Gutiérrez.

 


([N4] fgutierrez.velneo) #2

Cuando tengas una incidencia de este tipo te agradeceríamos que contactaras con soporte, a través de Velneo Directo ya que eres suscriptor, donde te habríamos ayudado y aconsejado al respecto.

De todas formas, que haya espacios en blanco es normal. Cuando borras un registro, el espacio que ocupaba en disco no se libera si no que se reutiliza, de ahí que te apareciera en tu tabla.

Al cambiar el campo código, se reconstruye la tabla para que acepte el nuevo tipo de campo, de ahí que se haya "solucionado".

Puede ser también que se haya añadido un tema, y es que en versiones anteriores no se comprobaban de forma automática las relaciones entre tablas, de forma que si modificamos un campo código, este no se refrescaba en los campos enlazados, cosa que ahora sí sucede, además de que al abrir el editor Velneo vDevelop V7 te comprueba esos enlaces y los repara.

En cualquier caso, reiteramos nuestra invitación a que acudas a soporte a través de Velneo Directo para ayudarte en esos casos.

Un saludo.

 


([N3] Juanjo) #3

Cuando tengas una incidencia de este tipo te agradeceríamos que contactaras con soporte, a través de Velneo Directo ya que eres suscriptor, donde te habríamos ayudado y aconsejado al respecto.

Ya lo hice (aún no sabía el problema) y me comentaron que aparentemente el proceso estaba bien y que sería por datos corruptos. De todas formas, hay errores/incidencias que a mí también me gustaría ver reflejadas en el foro, así como su solución, en lugar de realizarse por soporte privado.

De todas formas, que haya espacios en blanco es normal. Cuando borras un registro, el espacio que ocupaba en disco no se libera si no que se reutiliza, de ahí que te apareciera en tu tabla.

Desde que el código está con longitud 2, tras borrar registros no aparecen lineas en blanco nunca (desde tabla completa, por supuesto por código no aparecían), y en vAdmin las transacciones van bien, así como los mensajes de error que no aparece ninguno.

Al cambiar el campo código, se reconstruye la tabla para que acepte el nuevo tipo de campo, de ahí que se haya "solucionado".

Me he tomado la molestia de volver a poner el campo código con longitud 1 ... y se ha "des-solucionado". Tras ejecutar el proceso de borrado-llenado, al consultar desde vDataClient por código, ok aparecen 100 lineas. Al consultar tabla completa pueden aparecer (tras ejecutar el proceso varias veces) 500 lineas, 100 con datos y 4000 en blanco. En vAdmin los mensajes de error inundan la pantalla.

Puede ser también que se haya añadido un tema, y es que en versiones anteriores no se comprobaban de forma automática las relaciones entre tablas, de forma que si modificamos un campo código, este no se refrescaba en los campos enlazados, cosa que ahora sí sucede, además de que al abrir el editor Velneo vDevelop V7 te comprueba esos enlaces y los repara.

En cualquier caso, reiteramos nuestra invitación a que acudas a soporte a través de Velneo Directo para ayudarte en esos casos.

Pasaba antes y ahora. Sólo hay una tabla. Si no es mucha molestia, podéis reproducirlo en 2 minutos e indicar si efectivamente se trata de un mal funcionamiento o de alguna instrucción/operativo que yo hago mal.

Gracias y un saludo.

 


([N4] rcueto.velneo) #4

Estimado Juanjo:

Hemos estado revisando la incidencia que abriste en Velneo Directo y en su momento la cerraste indicando que la habías instanciado en una carpeta vacía y allí ya no se reproducía el error. ¿Consigues reproducir este error de nuevo a partir de una base de datos en blanco?

Por otro lado indicas que en una tabla que indicas en la que puede haber más de 256 registros, bajas la longitud de un código a 1 byte -que tiene ese nº de registros como límite, por lo que es factible que se hayan estropeado los datos con ese procedimiento.

En cualquier caso, por favor, abre de nuevo una incidencia en Velneo Directo respondiendo a ambas cuestiones, para poder realizar un mejor seguimiento de la misma, ya que es donde se da soporte.

Muchas gracias por tu colaboración.

Un saludo.


([N3] Juanjo) #5

Gracias rcueto.

La incidencia (que eran varias sobre los mismo) se refería a que no podía conectarme al vServer. De hecho el título de la misma es "error de conexión". Cuando la cerré, obviamente me refería a que en una base de datos vacía, no se reproducía el error ... de conexión.

En la tabla que nos ocupa, nunca habrá mas de 100 registros. Hay un proceso que inicializa la misma y se encarga de borrar todo primeroy añadir 100 líneas despues. Con longitud 1 llego a ver 1000, 2000 o los que quiera (depende del nº de veces que ejecute el proceso ) en blanco, listados a través de tabla completa desde vDataClient.

En fin, postearé esto mismo a través de soporte.

Gracias de nuevo.