Mis conjuros favoritos

FORMULARIOS DE OPENOFFICE CONECTADOS A UNA BASE DE DATOS EN UNA INTRANET

miércoles, 27 de mayo de 2009

Gracias a Kleper, por su valiosa ayuda y paciencia :D

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:

1.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.
2.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.
3.Después de bajar este paquete se procede a descomprimirlo, esta carpeta no debe borrarse o moverse después de instalar el conector.
4.Abrir OpenOffice Write, ir al menú Herramientas – Opciones – Java
5.Clic donde dice CLASS PATH
6.Clic agragar archivo
7.Buscar el archivo .jar que está dentro de lo que descomprimimos
8.Se agrega y se le da aceptar
9.Nos pide que reiniciemos Openoffice, procedemos a hacerlo.
10.Abrimos OpenOffice Base, le damos conectar con una base de datos existente y buscamos Mysql
11.Le decimos conectar usando JDBC
12.Ahora debe aparecer una opción donde pide los datos del servidor
13.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á.
14.Luego siguiente, nos pide el usuario y seleccionamos que requiere contraseña, siguiente y finalizar.
15.Nos pregunta que si registramos la base de datos y la abrimos para editar, le decimos que SI.
16.Clic donde dice Tablas, ahí debe pedir la contraseña, se la damos y aceptar.
17.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.
18.El mismo Openoffice se encarga de conectarse con diferentes usuarios, por lo tanto los equipos de intranet, deben tener openoffice.
19.Ahora veremos la conexión desde otro equipo.
20.Lo primero es que el equipo cliente tenga instalado OpenOffice.
21.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.
22.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.
23.Se deja el puerto que trae por defecto.
24.Al probar la conexión debería funcionar sin problema, pero en mi caso tuve varios (Numeral 29).
25.Ahora nos pregunta si queremos guardar y editar y le decimos que si.
26.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.
27.En mi caso realicé el formulario con el asistente y luego procedí a probarlo.
28.Si todo funciona bien podremos ver la info registrada en el cliente a través del servidor.
29.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.
30.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
31.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.

No hay comentarios: