lunes, 30 de octubre de 2017

Base de datos: PostgreSQL y OpenOffice

Guía de aprendizaje sobre el uso de OpenOffice junto con PostgreSQL para la gestión de una base de datos.
Descarge del sitio de PostgreSQL el instalador para Windows 32/64 bits.
Para utilizar OpenOffice Base es necesario contar con el controlador Java/JDBC que nos permitirá hacer conexión con PostgreSQL. Visite el sitio PostgreSQL JDBC Driver y descargue la última versión.

Primera etapa: crear la base de datos mediante pgAdmin, la herramienta de gestión para PostgreSQL.

Mediante pgAdmin vamos a crear una base de datos llamada AgendaPersonal.
Seleccionamos el servidor sobre el cual vamos a alojar la base de datos: PostgreSQL 9.6.
Hacer clic derecho con el ratón sobre PostgreSQL 9.6 para visualizar un menú contextual y elegir la opción Create/Database...

El sistema le pedirá que ingrese el nombre de la base de datos, en Database: AgendaPersonal.
En Owner (propietario) dejar el campo sin cambios.
En Comment (comentario) colocar el siguiente comentario: Agenda personal.
Ahora pasar a la pestaña Definition:

En Template, dejar el campo como está.
En Tablespace seleccionar pg_default.
En Collation seleccionar el idioma local de su computadora, por ej.: Spanish_Argentina.1252.
En Character type, lo mismo que Collation.
En Connection limit, dejar el campo como está.
Después pasar a la pestaña Security:

Sobre privilegios, habilitar PUBLIC y postgres tal cual se muestra en la figura de arriba.
Concederle todos los privilegios a las cuentas mencionadas: CTc (Create, Temporary, connect).
Y por último, presionar el botón Save para terminar el proceso de creación de la base de datos.
Las restricciones de la tabla Contactos:


Segunda etapa: Usar un entorno de ejecución JAVA/JRE en OpenOffice.

Seleccionar desde el menú principal de OpenOffice Herramientas/Opciones para iniciar la configuración de Java con OpenOffice.
En el formulario Opciones seleccione Java y marque la casilla Usar un entorno de ejecución de Java.
OpenOffice detectará qué entorno Java tiene instalado en su computadora y mostrará una lista de entornos que posee dicho equipo. Seleccione Java jdk/jre o bien Java jre.
Como se aprecia en la imagen anterior, está seleccionada Java jdk/jre.
Luego presionar sobre el botón Ruta de clase... para seleccionar el controlador JDBC.

Presionar primero sobre el botón Agregar carpeta y buscar el directorio C:\Program Files\PostgreSQL\pgJDBC después presionar sobre el botón Seleccionar para añadirlo.
A continuación presionar el botón Agregar paquete... para seleccionar el controlador JDBC postgresql-42.1.4.jar que nos permitirá conectarnos al servidor PostgreSQL y presionar el botón Abrir una vez seleccionado.
En el formulario Ruta de clase presione el botón Aceptar para dar por finalizada la selección del controlador JDBC. Después presione el botón Aceptar del formulario Opciones.

Se habilita las conexiones persistentes.
Luego seleccionar la base de datos:
Tercera etapa: Conectar con una base de datos existente.
 Abrir OpenOffice Base.

 Seleccionar el asistente para base de datos.

 Configurar la conexión a la base de datos por JDBC.

 Poner nombre de usuario y contraseña.

 Crear una tabla para la base de datos.

 Guardar la base de datos en formato OpenOffice para su posterior uso.

 Realizar la conexión al servidor de base de datos.

 Utilizar el Asistente para tablas.

 Establecer los formatos de cada campo de la tabla.

 Crear la tabla bajo esquema "public".

 La tabla ha sido creada.

Ahora y finalmente ingresar datos a la tabla.

Y la verificación de la conexión a la base de datos con los datos de conexión a PostgreSQL.
 
Problemas
¿Qué pasa cuando nos queremos conectar a una base de datos en el servidor y no se establece tal comunicación?
OpenOffice mostrará un cuadro de diálogo informándonos que no se pudo abrir la conexión a la base de datos y explicando brevemente cuáles podrían ser los motivos de la falla encontrada.
Ver o descargar el siguiente caso en el video: sistema Farmacia, sql-farmacia-error.avi
En el video se puede apreciar la visualización del mensaje de error Estado SQL: 3D000.
Los motivos pueden ser varios:
  • El nombre de la base de datos es incorrecto o no existe en el servidor.
  • El origen de datos o cadena de conexión fue escrita incorrectamente.
  • El nombre de la cuenta de usuario es incorrecta o no existe.
  • La contraseña de la cuenta de usuario es incorrecta.
  • El servidor está apagado y nos olvidamos de encenderlo !!!
Para tratar de resolver este problema lo primero que deberíamos hacer es averiguar si hay enlace de comunicación con el servidor ejecutando el comando ping desde una ventana de consola textual:
ping <nombre_del_servidor>
ping <dir_ip_del_servidor>
 
Por ejemplo: ping 192.168.1.62 o también ping localhost.
Si el equipo servidor estaría apagado, el mensaje que nos mostraría ping es "Destination host unreachable".
Los códigos de errores que informa PostgreSQL pueden ser consultados en el enlace "Appendix A. PostgreSQL Error Codes".
El código 3D000 se refiere puntualmente a: invalid_catalog_name.


____________________________
Ultima actualización: 31/Agosto/2020.