FORMULARIOS DE OPENOFFICE CONECTADOS A UNA BASE DE DATOS EN UNA INTRANET
El objetivo es el siguiente: Tener una base de datos con una o varias tablas, a dichas tablas las alimentan diferentes personas de la intranet, entonces con OpenBase nos conectamos a mysql utilizando un conector en java. Con OpenBase se crean formularios para que la base de datos sea actualizada o consultada. Con mysql puedo tener diferentes usuarios con diferentes permisos.
ES NECESARIO:
- Tener OpenOffice instalado.
- Tener instalado y configurado mysql.
- En este caso usaré PhpMyAdmin para la gestión de las bases de datos.
PASOS A REALIZAR:
- Crear la base de datos en Mysql con phpmyadmin y crear un usuario que pueda administrar esto, no deben crearse tablas en este punto del proceso.
- Debemos bajar este paquete http://dev.mysql.com/downloads/connector/j/5.1.html. MySQL Connector/J es el driver JDBC oficial para MySQL, este conector se le agrega a OpenOffice para que se conecte con Mysql.
- Después de bajar este paquete se procede a descomprimirlo, esta carpeta no debe borrarse o moverse después de instalar el conector.
- Abrir OpenOffice Write, ir al menú Herramientas – Opciones – Java
- Clic donde dice CLASS PATH
- Clic agragar archivo
- Buscar el archivo .jar que está dentro de lo que descomprimimos
- Se agrega y se le da aceptar
- Nos pide que reiniciemos Openoffice, procedemos a hacerlo.
- Abrimos OpenOffice Base, le damos conectar con una base de datos existente y buscamos Mysql
- Le decimos conectar usando JDBC
- Ahora debe aparecer una opción donde pide los datos del servidor
- En la URL del servidor se coloca 127.0.0.1 (para nuestro caso) y el nombre de la base de datos que se creó anteriormente, lo demás se deja como está.
- Luego siguiente, nos pide el usuario y seleccionamos que requiere contraseña, siguiente y finalizar.
- Nos pregunta que si registramos la base de datos y la abrimos para editar, le decimos que SI.
- Clic donde dice Tablas, ahí debe pedir la contraseña, se la damos y aceptar.
- Lo que sigue es crear las tablas donde se va a ingresar la información y luego los formularios para ingresar y modificar los datos. No olvidar que se muy importante definir una clave primaria para cada una de las tablas.
- El mismo Openoffice se encarga de conectarse con diferentes usuarios, por lo tanto los equipos de intranet, deben tener openoffice.
- Ahora veremos la conexión desde otro equipo.
- Lo primero es que el equipo cliente tenga instalado OpenOffice.
- En este equipo también debemos instalar el conector de Java para Msql que instalamos en el equipo servidor (Numeral 2). Funciona igual en Linux y en Windows.
- Hacemos la conexión a la base de datos de la siguiendo los mismos pasos que en el servidor, y cuando pide la url del servidor, le damos la IP de la máquina servidor.
- Se deja el puerto que trae por defecto.
- Al probar la conexión debería funcionar sin problema, pero en mi caso tuve varios (Numeral 29).
- Ahora nos pregunta si queremos guardar y editar y le decimos que si.
- Si no hay problemas, nos dirigimos a la tabla y podremos ver la información guardada en ella, y luego podemos acceder al formulario, que puede haber sido copiado del equipo servidor, o puede realizarse de la misma manera que se hizo en el servidor.
- En mi caso realicé el formulario con el asistente y luego procedí a probarlo.
- Si todo funciona bien podremos ver la info registrada en el cliente a través del servidor.
- Mi primer problema fue el siguiente error1: el conductor de la clase no puede ser cargado, en el momento de probar la conexión.
Solución: Reiniciar el equipo.
- Error2: communications link failure - last packet sent to the server was 0 ms ago
Esto significa que Mysql está mal configurado y está corriendo solo en localhost
Solución: Hacer que Mysql corra en todas las interfaces del equipo haciendo un cambio en el archivo my.cnf que en mi caso se encuentra en /etc/mysql , buscar skip-networking, encontramos una línea que dice bind-address = 127.0.0.1 y la cambiamos por bind-address = 0.0.0.0 , luego reiniciamos Mysql
- Error3: null, message from server: "Host '192.17.34.XXX' is not allowed to connect to this MySQL server"
Esto es un error de permisos de Mysql.
Solución: Con phpmyadmin revisar la configuración del usuario. En mi caso descubrí que el usuario tenía todos los privilegios, pero sólo en el localhost. Entré a editar el usuario y en la opción de servidor cambié local por cualquier servidor.
Lo siguiente es hacer pruebas con diferentes tipos de usuarios y disfrutar de este servicio.