HTMLpointHTMLpoint HTMLpoint.com


 DBI + DBD::Pg



Vayamos ahora al corazón de nuestro discurso: el driver para la base de datos. Con las premisas que acabamos de establecer, nos apoyaremos en una base de datos Postgres, y nos servirá por tanto el módulo DBD::Pg.pm.

Para quien utilice otras bases de datos, los módulos que hay que emplear son obviamente otros: de todos modos, no hay de qué preocuparse, ya que existen driver para muchísimos tipos de bases de datos.

El módulo en cuestión nos permite actuar sobre la base de datos como se hace normalmente a través de "psql" o tools parecidos, con la diferencia de que podremos mandar en output los datos, por ejemplo, en una página HTML a través de script CGI, práctica muy usada en script de e-commerca o forum.

Con el módulo DBD::Pg veremos también el módulo DBI, una interface a las bases de datos independiente de la base de datos empleada, que se apoya evidentemente en el módulo Pg (en nuestro caso).
Intentemos explicar mejor este discurso: DBI es genérico, y permite ejecutar las operaciones normales en la base de datos; claramente, después, para poder conectarnos e interactuar con la base de datos, tendremos que cargar también el driver específico para la base de datos que pretendamos usar, en nuestro caso DBD::Pg. La jerarquía DBD::*, de hecho, contiene los driver específicos para las bases de datos, diferenciándose, repetimos, de DBI ya que el segundo es genérico; además, DBI resulta prácticamente inútil sin DBD::Pg.

Digamos, por tanto, más correctamente que usaremos DBI + DBD::Pm.

Veamos inmediatamente un ejemplo de conexión a nuestra base de datos "prova_db", utilizando los módulos que nos interesan.

use DBI;
$db = DBI->connect("dbi:Pg:dbname=prova_db");

Como veis, hemos comenzado el script con el statement

use DBI;

de manera que dicho módulo lo cargue el intérprete. En la línea sucesiva, invocamos el método "connect" para conectarnos a la base de datos: este método acepta diferentes opciones; nosotros hemos empleado "dbi:Pg" para indicarle a DBI que la base de datos que usamos es Postgres (Pg es en efecto una abreviatura para Postgres) y que el nombre de la base de datos a la que pretendemos conectarnos es "prueba_db". Intentaremos a continuación las demás opciones, entre las cuales están el nombre del usuario y la clave con la que conectarse a la base de datos.


  Torna a inizio pagina