Cómo acceder a la consulta y manipulación de tablas de una base de datos PostgreSQL utilizando ODBC en Windows XP. Os mostramos y explicamos cómo acceder a PostgreSQL mediante AjpdSoft Administración de base de datos y mediante Microsoft Access.

Descarga e instalación del driver ODBC para PostgreSQL

Descargaremos el fichero de instalación del driver ODBC de PostgreSQL abriendo un navegador web (como Mozilla Firefox), desde la URL:

https://www.postgresql.org/ftp/odbc/versions/msi/

En nuestro caso hemos seleccionado el fichero psqlodbc_08_04_0100.zip (última versión en la fecha de realización de este artículo), con un tamaño de 4MB. Una vez descargado el fichero, lo descomprimiremos y ejecutaremos el fichero «psqlodbc.msi»:

Descarga e instalación del driver ODBC para PostgreSQL

Pulsaremos «Next» en la ventana de bienvenida del asistente de instalación de psqlODBC:

Descarga e instalación del driver ODBC para PostgreSQL

Leeremos los términos de licencia de psqlODBC, si estamos de acuerdo marcaremos «I accept the terms in the License Agreement» y pulsaremos «Next»:

Descarga e instalación del driver ODBC para PostgreSQL

En la siguiente ventana del asistente de instalación de psqlODBC podremos cambiar la ubicación por defecto donde se instalarán los ficheros necesarios para el driver ODBC, por defecto en:

C:\Archivos de prorgrama\psqlODBC

Pulsaremos «Next» continuar con la instalación o «Browse» para cambiar la ubicación (carpeta) de destino):

Descarga e instalación del driver ODBC para PostgreSQL

Pulsaremos «Install» para iniciar la instalación final de psqlODBC:

Descarga e instalación del driver ODBC para PostgreSQL

Tras la instalación el asistente psqlODBC nos mostrará una ventana indicando que ha concluido satisfactoriamente, pulsaremos «Finish» para cerrar el asistente:

Descarga e instalación del driver ODBC para PostgreSQL

Crear origen de datos ODBC para acceso a PostgreSQL

Para crear un nuevo origen de datos ODBC en nuestro equipo con Windows XP (válido para otras versiones del sistema operativo Windows) pulsaremos en «Inicio» – «Configuración» – «Panel de control»:

Crear origen de datos ODBC para acceso a PostgreSQL

Haremos doble clic sobre «Herramientas administrativas»:

Crear origen de datos ODBC para acceso a PostgreSQL

Haremos doble clic sobre «Orígenes de datos (ODBC)»:

Crear origen de datos ODBC para acceso a PostgreSQL

Si queremos que el origen de datos esté disponible para todos los usuarios del equipo pulsaremos en la pestaña (solapa) «DSN de sistema», si queremos que esté disponible sólo para el usuario actual (con el que hemos iniciado sesión de Windows) pulsaremos en «DSN de usuario». En nuestro caso pulsaremos en «DSN de sistema». A continuación pulsaremos en el botón «Agregar»:

Crear origen de datos ODBC para acceso a PostgreSQL

En la ventana de selección de controlador para el origen de datos buscaremos «PostgreSQL ANSI» y lo seleccionaremos. A continuación pulsaremos en «Finalizar»:

Crear origen de datos ODBC para acceso a PostgreSQL

Nota: en la lista se pueden ver dos controladores:

  • PostgreSQL ANSI: conexión a servidor con PostgreSQL utilizando el juego de caracteres ANSI (American National Standards Institute).
  • PostgreSQL Unicode: conexión a servidor con PostgreSQL utilizando el juego de caracteres Unicode.

A continuación, en la ventana de PostgreSQL ANSI ODBC Driver (psqlODBC) Setup introduciremos los siguientes datos:

  • Data Source: nombre que identificará el origen de datos, para ser usado por otras aplicaciones. En nuestro caso «bdproyectoa».
  • Description: breve descripción del origen de datos, para diferenciarlo de otros, por ejemplo «Conexión con PostgreSQL».
  • Database: nombre de la base de datos PostgreSQL a la que queramos conectarnos (debe existir en el servidor de PostgreSQL). En nuestro caso existe una base de datos con el nombre «proyectoa».
  • SSL Mode: si hemos configurado el servidor PostgreSQL para permitir conexiones SSL podremos elegirlo en el desplegable, si no lo hemos hecho seleccionaremos «disable».
  • Server: IP o nombre de red (hostname) del equipo con el motor de base de datos PostgreSQL instalado. En nuestro caso «192.168.1.100».
  • Port: puerto con el que tengamos configurado el acceso al servidor de PostgreSQL, por defecto 5432.
  • User Name: nombre de usuario con permisos suficientes sobre la base de datos indicada. Por defecto «postgres».
  • Password: contraseña del usuario anterior.
Crear origen de datos ODBC para acceso a PostgreSQL

En la ventana anterior, una vez introducidos todos los datos, podremos pulsar el botón Test para realizar una prueba de conexión, si todo es correcto mostrará una ventana como la siguiente:

Crear origen de datos ODBC para acceso a PostgreSQL

Con el texto: Connection successful.

Para guardar el origen de datos pulsaremos «Save».

Descarga e instalación del driver ODBC para PostgreSQL

Una vez instalado el driver ODBC para PostgreSQL y creado el origen de datos ODBC que apunta a la base de datos PostgreSQL podremos utilizar cualquier aplicación que permita conexión a bases de datos utilizando ODBC para acceder a PostgreSQL. En este ejemplo utilizaremos la aplicación gratuita y open source:

Descargaremos la aplicación, descomprimiremos el fichero comprimido y ejecutaremos el fichero «AdministracionSQL.exe». En la ventana de inicio de sesión marcaremos la opción «Conectar mediante ODBC (requiere BDE y Driver ODBC). En el desplegable «ODBC» seleccionaremos el origen de datos creado anteriormente, en nuestro caso «bdproyectoa». Introduciremos el usuario «postgres» (o un usuario con permisos para manipular datos en PostgreSQL) y la contraseña de este usuario (establecida en la instalación de PostgreSQL) y pulsaremos «Aceptar»:

Descarga e instalación del driver ODBC para PostgreSQL

Si todo es correcto AjpdSoft Administración Bases de Datos conectará con PostgreSQL y la base de datos indicada en el driver «bdproyectoa». A continuación podremos ejecutar consultas SQL.

Ejecutaremos la siguiente consulta SQL para crear la tabla «facturacion» en PostgreSQL:

Haremos propietario al usuario «postgres» de la tabla creada anteriormente con la consulta SQL:

Insertaremos algunos registros en la tabla «facturacion» con las sentencias SQL:

Mostraremos el contenido de la tabla «facturacion» con la sentencia SQL:

Descarga e instalación del driver ODBC para PostgreSQL

Acceso a PosgreSQL con Microsoft Access y ODBC

Como hemos comentado anteriormente, una vez instalado y configurado el ODBC, podremos acceder con cualquier aplicación que admita ODBC. Microsoft Access también admite este método de conexión. A continuación explicamos cómo conectar Microsoft Access a una base de datos PostgreSQL.

Acceso a PosgreSQL con Microsoft Access Access 97

Abriremos Microsoft Access 97 y seleccionaremos «Base de datos en blanco»:

Acceso a PosgreSQL con Microsoft Access Access 97

Introduciremos el nombre del fichero .mdb de Microsoft Access, por ejemplo «AjpdSoft acceso base datos postgresql.mdb» y la carpeta donde se creará y guardará el fichero:

Acceso a PosgreSQL con Microsoft Access Access 97

En la pestaña «Tablas» pulsaremos en «Nuevo»:

Acceso a PosgreSQL con Microsoft Access Access 97

En la ventana de «Nueva tabla» seleccionaremos «Vincular tabla» y pulsaremos «Aceptar»:

Acceso a PosgreSQL con Microsoft Access Access 97

En la ventana «Vincular» en el desplegable «Tipo de archivo» seleccionaremos «Bases de datos ODBC»:

Acceso a PosgreSQL con Microsoft Access Access 97

Nos mostrará la ventana de «Seleccionar origen de datos», seleccionaremos el origen de datos creado para conexión con PostgreSQL, en nuestro caso «bdproyectoa» y pulsaremos «Aceptar»:

Acceso a PosgreSQL con Microsoft Access Access 97

Access conectará con PostgreSQL mediante ODBC y obtendrá las tablas a las que el usuario utilizado al crear el origen de datos tenga acceso, en nuestro caso «public.facturacion», marcaremos «Guardar contraseña» y pulsaremos «Aceptar»:

Acceso a PosgreSQL con Microsoft Access Access 97

Si el asistente no es capaz de obtener la clave primaria de la tabla nos mostrará la ventana de «Seleccionar identificador de registro único», con todos los campos de la tabla seleccionada, para que indiquemos el que es clave primaria. Es recomendable tener una clave primaria en cada tabla y es recomendable indicar a Access cuál es esta clave en la tabla, de lo contrario puede que el rendimiento disminuya y, además es posible que no se puedan realizar modificaciones en la tabla PostgreSQL desde Access:

Acceso a PosgreSQL con Microsoft Access Access 97

Una vez vinculada la tabla podremos usarla en Microsoft Access como si de una tabla Access se tratase, podremos hacer doble clic para abrirla y modificar, añadir o eliminar registros. también podremos utilizar en cualquier consulta, macro o formulario de Access:

Acceso a PosgreSQL con Microsoft Access Access 97