Proceso de migración de LibreOffice Base HSLQDB a LibreOffice Base Firebird

Unas notas sobre los problemas encontrados en el proceso de migración de 3 bases de datos.

Hay varias diferencias esenciales entre los dos SGBD.

El documento que describe las mismas es:

Migrating HSQLDB Base files to Firebird Base files, que se encuentra en: https://wiki.documentfoundation.org/Documentation/FirebirdMigration

Para comenzar hay que asegurarse que LibreOffice Base esté en modo HSLQDB.
Herramientas – Opciones – Avanzado – Activar funcionalidades expermientales (desactivado).

– Primero realizar una copia de la base que vamos a convertir, para trabajar con la copia, y dejar el original resguardado. Se le puede dar un nombre que no nos confunda, por ejemplo master_firebird.odb (dónde «master» es el nombre original de la misma.

– Editar todas las tablas, comprobando si tenemos campos «numéricos» o «decimales». Caso de existir habría que cambiarlos por otro tipo de datos: «DOUBLE PRECISION». Hay un bug, (que no ha sido aún corregido ni se sabe si va a implementar), que da errores en la conversión automática. La conversión, normalmente, no se puede hacer directamente por diferentes motivos.

– En caso de existir Vistas de Tablas habría que comprobar que la sintaxis se adapta a las nuevas características.
Ello se puede ver en el documento al que hice mención al principio.
La concatenación de campos solo puede hacerse un modo (‘str1’‖’str2’‖’str3’), extraer de una fecha el día de la semana, el año, el mes, el trimestre… no se realiza de la misma manera que hasta ahora. Y mas.

Si hay campos con datos decimales o numéricos, y están involucrados en Vistas de Tablas, no se pueden cambiar a DOUBLE con una instrucción SQL.

Las Vistas, una vez convertida la Base a Firebird no se pueden editar.

En mi caso me planteé cambiar las Vistas por consultas y evitar problemas.

La Vistas de Tablas, en Firebird, según mi opinión, existen por compatibilidad con versiones anteriores.

En Firebird se pueden crear vistas, en el modo de edicción de consultas, pero no se pueden modificar. No se puede acceder a la edición SQL, en la edición normal sale un editor, igual que el de tablas, en el que no se puede realizar ninguna operación.

Por ello he prescindido de las Vistas y he realizado unas consultas idénticas a las mismas, y con los mismos nombres.

He creado unas consultas, idénticas a las Vistas, He rectificado el resto de consultas. cambiando las que tuvieran origen en las Vistas, por su respectiva consulta. Si por ejemplo, tengo una Vista vMovimientos, he creado la consulta vMovimientos.

He creado unas consultas copiando la intrucción SQL de las vistas, les he puesto un nombre cualquiera. Una vez creadas todas, he eliminado las vistas y he cambiado el normbre de las consultas al que tenían anteriormente las vistas.

– Hay que tener precaución con el número de caracteres que tiene el nombre de una tabla, una consulta o una vista, al igual que el de los campos. El máximo número de dígitos que permite Firebird son 30 caracteres. En HSLQDB creo que eran 50. El error salta al ejecutar la consulta.

– Los nombres de la tablas y de los campos, incluidas las consultas, no deben incluir ciertos caracteres. quienes hablamaos español no podemos usar la «Ñ». Me pasó con un campo que era Año. Tuve que cambiarlo por Anualidad.

– Una forma rápida de cambiar los campos númericos o decimales a DOUBLE es con una instrucción SQL (siempre que el campo no esté involucrado en una Vista de Tabla)

La instrucción es la siguiente: ALTER TABLE «NombreTabla» ALTER COLUMN «NombreCampo» DOUBLE

Dónde NombreTabla es el nombre de la tabla, NombreCampo es el de la columna y DOUBLE es el tipo de datos que quiero ponerle.

Firebird es mas estricto en la comprobación de las consultas que HSQLDB. Puede que alguna no funciones después de la conversión, arrojando error. Ya sería menos laborioso modificar las que den error.

Precaución y suerte.

Un saludo,
Emiliano.

Migración a LibreOffice Base Firebird.

Hace poco publiqué en el blog un artículo sobre la migración a LibreOffice 6.1 beta:
https://emilianoangel.wordpress.com/2018/06/05/migracion-a-libreoffice-6-1-base/

Tras hacer pruebas y demás tuve que dejar el cambio a la nueva versión de la base de datos, pues había algunos bug.

El problema mas importante que he encontrado ha sido por la conversión de campos numéricos y decimales de la versión de HSLQDB a Firebird.

Hay un bug que aún no ha sido resuelto.

Todo esto hacerlo con HSLQDB, antes de abrir la base a convertir con Firebird.

La solución es cambiar los campos «numéricos» o «decimales» a «DOUBLE PRECISION».

Desde el editor de tablas, no se puede. Con instrucciones SQL, tampoco. Parece ser que en este tipo de campos no está permitida tal acción.

Solución, crear una nueva tabla, copiando la que se quiera modificar, pegar y en el proceso de pegado, cambiar los datos de los campos a DOUBLE PRECISION.

Siempre, en el pegado, aceptar la primera opción: «Definición y datos».

Posteriormente hay que cambiar las posible vistas de tablas y las consultas, con los datos de la nueva tabla.

Una opción es en edición SQL, usando un editor de texto, con la opción de buscar y reemplazar.

Error que mostraba una consulta:

firebird_sdbc error:
*Dynamic SQL Error
*SQL error code = -104
*Invalid expression in the HAVING clause (neither an aggregate function nor a part of the GROUP BY clause)
caused by
‘isc_dsql_prepare’

Si la consulta se realiza tomando como criterio de agrupación el campo de una tabla, que sólo tiene una fila, muestra error. Es el ejemplo que sigue:

GROUP BY «Cuentas».»cuenta» HAVING ( ( «Cuentas».»cuenta» = «Parametros».»cuenta» ) )

En cambio si pongo directamente el criterio no da errores.

GROUP BY «Cuentas».»cuenta» HAVING ( ( «Cuentas».»cuenta» = ‘DB Plus’ ) )

Para pedir los datos de los informes utilizo un formulario, que rellena la Tabla «Parametros», sobrescribiendo los antiguos.

Solución. Relacionar «Cuentas.cuenta» con «Parametros.cuenta». Solo en modo diseño de la consulta. En la columna problemática eliminar el criterio y activar, en Función: Agrupar por. En la SQL Sólo muestra el GROUP BY y desparece el HAVING. Por ahora vamos sorteando los obstaculos para usar Firebird.
Otro error era debido al nombre de una consulta. Tenía 40 caracteres. Se la ejecutaba directamente pues funcionaba como cualquier otra.
Pero si era origen de otra consulta ya mostraba un error. Decía que había un campo mas largo de la cuenta y no lo permitía.
Parece ser que HSQLDB permite hasta 50 caracteres como nombre de un campo o una tabla en la instrucción, pero Firebird lo máximo que permite son 30.
Se acortó el nombre, que era tan largo por un despiste, y arreglado el asunto.

Si hay formularios también habría que cambiar el origen de tablas de los mismos.

Si hay una columna tanto en tablas, como vistas o consultas con caracteres extraños, había de cambiarlas.

El problema se presentó con una que era «año». La «Ñ» no la acepta, por ahora.

Si la base de datos no se compone de muchas tablas con datos problemáticos y muchas consultas que estén involucradas, pues es algo rápido, pero que hay que tener paciencia.

Enlaces interesantes:

https://wiki.documentfoundation.org/Documentation/FirebirdMigration

https://wiki.documentfoundation.org/Development/Base/FirebirdSQL

https://wiki.documentfoundation.org/Faq/Base

https://wastack.wordpress.com/

Instalar dos versiones de LibreOffice en Fedora 23

Debido a un bug en LibreOffice Base 5.0, que resulta bastante molesto, he tenido que instalar dos versiones del mismo.

Uso Fedora 23 kde de 64 bits. En los repositorios sólo está LibreOffice 5.0. La versión 4 es para Fedora 22

Uno de los programas que me interesa es Base. El motivo es la gestión de dos BB.DD. de escritorio.

Las tengo preparadas desde hace tiempo en Access de MS-Oficie 2003, pero tengo ganas de desprenderme de Virtual-Box y la MV de Windows 7. Sólo lo utilizaba para estabas bases de datos.

Con LibreOffice 4 no tenía problemas con las BB.DD., pero con la versión 5.0 comenzaron a aparecer.

El primero, que no aceptaba los cambios en el tipo de fuentes ni en el resto de formatos en tablas, consultas y control de tablas de formularios. Tomaba la fuente del sistema, creo, y no había forma de cambiarla. Tenías que irte a Preferencias del sistema y en fuentes, variabas el tamaño, y veías si te gustaba el formulario a imprimir, si cabían todos los caracteres en sus casillas, etc. Vamos un lio.

El segundo, ya en la última versión (5.0.4.2) es con los controles tabla de los formularios. No se pueden editar. Imprimes y te salen unas letras gigantes en los encabezados de las columnas.

He probado en varios ordenadores, distintas distribuciones, e incluso en Windows 7 y 10.

El patrón siempre es el mismo, con LibreOffice 5.0 el bug se repite, con la versión 4 no.

Ambos errores están reportados en varias ocasiones, sin resultado hasta la fecha.

Total que quise probar instalando dos versiones: LibreOffice, instalación en paralelo.

Pero no había forma, lanzaba el comando y siempre daba error.

Total que con DNF desinstalé LibreOffice Base 5.0, descargué de la página de LibreOffice la versión 4.7, descomprimí todos los archivos en un directorio y, desde la línea de comandos, instalé lo mínimo indispensable: base, Writer y los paquetes de idiomas. Si me solicitaba algún paquete mas lo añadía al comando. (Writer es necesario para poder visualizar los formularios y los informes).

Otro cambio que hubo que realizar fue el de los iconos. Sustituir Breeze por Oxygen.

Lo “malo” es que la integración de escritorio de base no es la misma que la del resto de paquete. Fedora siempre ha mantenido la interfaz de LibreOffice igual que el resto del escritorio, sin desentonar. Con el instalador descargado de la página de LibreOffice, aunque instales el paquete de kde, nunca queda bien, los colores desentonan, el navegador de archivos es antiguo y no sigue el patrón de Dolphin, etc.

Otro problema que hay es que si tienes abierto base no se puede abrir Writer o Calc 5.0.

Pero hasta que se solucione el bug no habrá más remedio que hacerlo así. No tengo ganas de hacer una instalación de Fedora 22 en Virtual-Box para poder tener la versión 4.7

Parece que base es “el patito feo” de LibreOffice. Por lo que se ve en las notas de lanzamiento de las distintas versiones y lo que se dice en foros, blogs, redes sociales, etc. es que las novedades son mínimas y hay bug que se arrastran y tardan en arreglarse.

Un saludo,

Emiliano

Instalar BlueGriffon 1.7.2 en Fedora 20

Volvemos con la instalación de Bluegriffon.

No sé si está discontinuado, pero lleva sin actualizar desde el 19/07/2013 que salió la versión 1.7.2

El problema para la instalación es que necesita xulrunner 26 y la versión de los repositorios, a día de hoy, es la 30.

He encontrado el fichero en rpm y no es es necesario instalar el tar.bz2.

Los archivos para instalar son:

32 bits:

https://kojipkgs.fedoraproject.org//packages/xulrunner/26.0/2.fc20/i686/xulrunner-26.0-2.fc20.i686.rpm

http://fr2.rpmfind.net/linux/local/fedora/20/i386/os/Packages/bluegriffon-1.7.2-5.fc20.i686.rpm

64 bits

https://kojipkgs.fedoraproject.org//packages/xulrunner/26.0/2.fc20/x86_64/xulrunner-26.0-2.fc20.x86_64.rpm

http://fr2.rpmfind.net/linux/local/fedora/20/x86_64/os/Packages/bluegriffon-1.7.2-5.fc20.x86_64.rpm

Una vez instalado hay que evitar que xulrunner se pueda actualizar a una versión más reciente.

Para ello hay dos opciones, ambas a ejecutar desde la consola, y como usuario root.

Editar el fichero /etc/yum.conf y añadir la siguiente linea:

exclude=xulrunner

Pegar en consola y darle a intro: echo ‘exclude=xulrunner’ >> /etc/yum.conf

La más sencilla la segunda.

Migración a KVM-QEMU desde ViurtualBox

Tras haber probado con éxito la solución de virtualización compuesta por Qemu-KVM, decidí, en la nueva instalación de Fedora 20, prescindir de VirtualBox y migrar las máquinas virtuales a la nueva plataforma.
La verdad es que no he tenido problemas con VirtualBox. Lo he utilizado con los repositorios de Oracle, antes Sun, instalando la extensión para usb desde que esta salió.
Lo llevo utilizando desde que eliminé la partición Windows del PC, hace ya varios años.
Lo primero que hay que comprobar es si el procesador admite las extensiones de virtualización
[user@home ~]$ lsmod | grep kvm
kvm_amd 60017 0
kvm 460181 1 kvm_amd
kvm_intel 44896 2
kvm 159656 1 kvm_intel
La primera respuesta es con procesador amd y la segunda con procesador intel.
Se comprueba que, en ambos casos, soporta la virtualiación.
Para instalar kvm-qemu:
Como root:
[root@home ~]$ yum install @virtualization
Una vez instalado, iniciar el servicio “libvirtd”, sin esperar a reiniciar el equipo.
[root@home ~]$ systemctl start libvirtd
Convertir las máquinas a formato utilizable por la nueva plataforma, para no perder el tiempo en reinstalación, sobre todo de Windows 7, que es eterno, con las actualizaciones que parece que nunca acaba. Cuando pasan tres días aún salen descargas.
Tenía dos mv, una con Windows 7 y otra con ReactOS. Se puede ejecutar como usuario, no hace falta ser root.
[user@home ~]$ qemu-img convert -f vdi -O qcow2 Windows-7.vdi Windows-7.qcow2
 
[user@home ~]$ qemu-img convert -f vdi -O qcow2 ReactOS.vdi ReactOS.qcow2
Para cambiar el directorio de instalación de las máquinas, aprovechar una partición distinta, y en caso de una reinstalación del sistema no borremos, por error, las máquinas instaladas tenemos que tener presente.
El directorio por defecto es: /var/lib/libvirt/images
Hay que editar el fichero: /etc/libvirt/storage/default.xml
Buscar la linea «/var/lib/libvirt/images» y sustiuir por el directorio deseado.
En mi caso fue: /mnt/DATOS/ VIRTUALIZACION/Images. Es una partición distinta a “/”.
Los ficheros de configuración de las distinta máquinas se guardan en el directorio:
/etc/libvirt/qemu
Tienen la extensión xml. Editandolos se pueden cambiar parámetros que de forma gráfica no es posible.
Por ejemplo para cambiar la memoria de video sustituir en ram y en vram las cantidades de memoria asisgnada:
64 MB – 64 x 1024 = 65536
128 MB – 128 x 1024 = 131072
Para iniciar Windows 7 desde interfaz gráfica:
Lanzar “Gestor de máquina virtual” virt-manager e introducir la password de root.
Pulsar el icono de “Crear una máquina virtual nueva”, marcar en “Importar imagen de disco existente”, pulsar en “adelante” y en la siguiente pantalla, darle al botón explorar, y se mostrarán las máquinas disponibles, marcar la deseada, y seguir el asistente.
Con ello está la máquina creada. Mas fácil …..

KDE 4.11 disponible para Fedora 19

Desde el día 12 de los corrientes se encuentran disponibles los paquetes para KDE 4.11 en el repositorio de KDE-RedHat http://apt.kde-redhat.org/apt/kde-redhat/fedora/

Para actualizar o instalar hay que habilitar el repositorio «unstable».
Para instalar el repositorio:
En consola, como usuario root, teclear:
wget http://apt.kde-redhat.org/apt/kde-redhat/fedora/kde.repo -O /etc/yum.repos.d/kde.repo


Un saludo,

BlueGriffon – Fedora 17, 18 y 19

BlueGriffon  es un editor web, basado en el tronco principal de Mozilla: el motor Gecko y XULRunner. Posee soporte para PHP y CSS y cuenta con un desarrollo activo en versiones para plataformas windows, mac o linux. Es de tipo WYSIWYG, acrónimo de What You See Is What You Get (en inglés, «lo que ves es lo que obtienes»).

Creo que estas indicaciones son también válidas para Fedora 16. No puedo confirmarlo porque no lo he probado recientemente.

En la página de descargas (http://bluegriffon.org/pages/Download) hay que bajarse los ficheros tar.bz para Ubuntu, los rpm han desaparecido.

FEDORA 32 bits

http://bluegriffon.org/freshmeat/1.7.2/bluegriffon-1.7.2.Ubuntu12.04.i686.tar.bz2

Se abre un terminal, y como root, en el directorio dónde se haya descargado el fichero teclear:

[usuario@HOST-PC ~]$ su –
Contraseña:
[root@HOST-PC ~]#

Código en un comando para 32 bits. Copiar y pegar en consola:

   cd /opt && wget http://bluegriffon.org/freshmeat/1.7.2/bluegriffon-1.7.2.Ubuntu12.04.i686.tar.bz2  && tar -jxvf bluegriffon-1.7.2.Ubuntu12.04.i686.tar.bz2 && rm -f bluegriffon-1.7.2.Ubuntu12.04.i686.tar.bz2

Para ponerl

FEDORA 64 bits

http://bluegriffon.org/freshmeat/1.7.2/bluegriffon-1.7.2.Ubuntu12.04.x86_64.tar.bz2

Una vez descargado, normalmente en /home/usuario/Descargas, se abre una consola y se teclea:

[usuario@HOST-PC ~]$ su –
Contraseña:
[root@HOST-PC ~]#

Código en un comando para 64 bits. Copiar y pegar en consola:

   cd /opt && wget http://bluegriffon.org/freshmeat/1.7.2/bluegriffon-1.7.2.Ubuntu12.04.x86_64.tar.bz2 && tar -jxvf bluegriffon-1.7.2.Ubuntu12.04.x86_64.tar.bz2 && rm -f bluegriffon-1.7.2.Ubuntu12.04.x86_64.tar.bz2

Para ponerlo en marcha, y saber si da algún error (funcionó al primer intento), se abre un terminal, y como usuario normal,

[usuario@HOST-PC ~]$ cd /opt/BlueGriffon
[usuario@HOST-PC ~]$ sh bluegriffon

Si el programa no se inicia, en consola se muestra el error. Si nos pide una librería específica, (librería.so.x) en ése caso seguiremos las instrucciones de éste post para instalar las que nos hagan falta.

Las dependencias que necesita BlueGriffon están en el archivo dependentlibs.list y son:

ibnspr4.so
libplc4.so
libplds4.so
libmozalloc.so
libmozsqlite3.so
libnssutil3.so
libsoftokn3.so
libnss3.so
libssl3.so
libsmime3.so
libxul.so

Lo mas seguro, que si tienes instalado Firefox, no tengas que añadir ninguna.

Sólo queda crear un lanzador para el programa, añadir al menú e integrar en el sistema.

Eso ya depende del escritorio o escritorio que se usen.

Un saludo,

Emiliano.

Nota.- Nueva edición 30/06/2013.

KDE-Services 1.8.5

Leyendo KDE Blog http://www.kdeblog.com he encontrado un artículo 

http://www.kdeblog.com/disponible-kde-services-1-8-5.html sobre KDE-Services 1.8.5.

Dicho programa es de Geovanni B. R, conocido por geobarrod
Añade varias funcionalidades al menú contextual de Dolphin, además de crear un submenú Kde-services en el menú de inicio de KDE.
Es de lo más completo de que he encontrado. Se puede ampliar en KDE Blog.

Master PDF & XPS Editor v 1.8 en Fedora 17 y 18

Master PDF & XPS Editor v 1.8

Lorenzo Carbonell, «el atareao», ha publicado en su blog el artículo «Modifica archivos pdf con Master PDF Editor«.

Dicho programa sirve para modificar – insertar texto, imágenes, páginas, etc en archivos pdf.

En el enlace que figura al principio se puede obtener más información leyendo el artículo original.

Para Fedora no hay ningún paquete rpm. Hay que ir a la página del desarrollador, Code Industry Ltd, y bajarse el archivo:

Arquitectura de 32 bits.

Arquitectura de 64 bits.

Para instalar el programa, con un sólo comando, se puede hacer de la siguiente manera:

Para ambas arquitecturas:

1º abrir una consola:

[usuario@HOST-PC ~]$ su – Contraseña: [root@HOST-PC ~]# «pegar texto del recuadro correspondiente»

2º Copiar el código que figura en el recuadro que sigue, pegarlo en la consola e introducir intro

Código para 32 bits

cd /opt && wget http://code-industry.net/public/MasterPDFEditor-1.8.70.i386.tar.gz && tar -zxvf MasterPDFEditor-1.8.70.i386.tar.gz && rm -f MasterPDFEditor-1.8.70.i386.tar.gz

Código para 64 bits

cd /opt && wget http://code-industry.net/public/MasterPDFEditor-1.8.70.x86_64.tar.gz && tar -zxvf MasterPDFEditor-1.8.70.x86_64.tar.gz && rm -f MasterPDFEditor-1.8.70.x86_64.tar.gz

Lo que hace el conjunto de comandos es:

1º Cambiar de directorio /root a /opt

2º Descargar el fichero con wget

3º Descomprimir en /opt/PDFEditor

4º Borrar el fichero comprimido, orden que hay que confirmar, ya que lo solicita el comando «rm».

Para poner el marcha el programa sólo hay que teclear en consola, como usuario normal:

/opt/PDFEditor/pdfeditor

Se puede, posteriormente, añadir un lanzador, o añadirlo al menú del sistema.

NOTA.-

Lo he probado y va bastante rápido, es muy sencillo añadir texto a un formulario que sólo está preparado para ser rellenado a mano o a máquina de escribir. Añadir y quitar páginas es muy fácil.

Sólo le he encontrado una pega, y es en un pdf Carnet joven Extremadura. Las tipografias del encabezado del formulario no se ven de la misma forma que en el original.

Imagino que debe ser porque usa sólo las fuentes que vienen incluidas en el directorio /opt/PDFEditor/fonts. Tendré que verlo con mas tiempo.

Un saludo,

Emiliano

Master PDF & XPS Editor v 1.7 en Fedora 17

Master PDF & XPS Editor v 1.7

Lorenzo Carbonell, «el atareao», ha publicado en su blog el artículo «Modifica archivos pdf con Master PDF Editor«.

Dicho programa sirve para modificar – insertar texto, imágenes, páginas, etc en archivos pdf.

En el enlace que figura al principio se puede obtener más información leyendo el artículo original.

Para Fedora no hay ningún paquete rpm. Hay que ir a la página del desarrollador, Code Industry Ltd, y bajarse el archivo:

Arquitectura de 32 bits.

Arquitectura de 64 bits.

Para instalar el programa, con un sólo comando, se puede hacer de la siguiente manera:

Para ambas arquitecturas:

1º abrir una consola:

[usuario@HOST-PC ~]$ su –
Contraseña:
[root@HOST-PC ~]# «pegar texto del recuadro correspondiente»

2º Copiar el código que figura en el recuadro que sigue, pegarlo en la consola e introducir intro

Código para 32 bits

   cd /opt && wget http://code-industry.net/public/PDFEditor-1.7.01.i386.tar.gz && tar -zxvf PDFEditor-1.7.01.i386.tar.gz && rm PDFEditor-1.7.01.i386.tar.gz

Código para 64 bits

   cd /opt && wget http://code-industry.net/public/PDFEditor-1.7.01.x86_64.tar.gz && tar -zxvf PDFEditor-1.7.01.x86_64.tar.gz && rm PDFEditor-1.7.01.x86_64.tar.gz

Lo que hace el conjunto de comandos es:

1º Cambiar de directorio /root a /opt

2º Descargar el fichero con wget

3º Descomprimir en /opt/PDFEditor

4º Borrar el fichero comprimido, orden que hay que confirmar, ya que lo solicita el comando «rm».

Para poner el marcha el programa sólo hay que teclear en consola, como usuario normal:

/opt/PDFEditor/pdfeditor

Se puede, posteriormente, añadir un lanzador, o añadirlo al menú del sistema.

NOTA.-

Lo he probado y va bastante rápido, es muy sencillo añadir texto a un formulario que sólo está preparado para ser rellenado a mano o a máquina de escribir. Añadir y quitar páginas es muy fácil.

Sólo le he encontrado una pega, y es en un pdf Carnet joven Extremadura. Las tipografias del encabezado del formulario no se ven de la misma forma que en el original.

Imagino que debe ser porque usa sólo las fuentes que vienen incluidas en el directorio /opt/PDFEditor/fonts. Tendré que verlo con mas tiempo.

Un saludo,

Emiliano