divendres, 13 d’agost del 2010

Com accedir a bases de dades SQLite des d'OpenOffice en Linux / 18 juliol 2010

Com accedir a bases de dades SQLite des d'OpenOffice en Linux

Primer de tot, què és SQLite? Segons la Viquipèdia: SQLite és una base de dades relacional continguda en una llibreria escrita C. A diferència d'altres bases de dades relacionals, SQLite no és un sistema de gestió de base de dades que funcioni amb un paradigma client-servidor. SQLite no és un procés autònom, sinó que s'integra dins d'altres programes.

Les bases de dades SQLite s'emmagatzemen en un fitxer que conté tant la definició de l'estructura de les dades com les dades mateixes.

Aquesta sistema ens recorda a les bases de dades d'Access (els fitxers .mdb).
OpenOffice Base fa servir un sistema de bases de dades del mateix estil, però basat en la HyperSonic DB.

SQLite és una tria intressant perquè a Linux disposem d'entorns RAD de programació com Gambas2, o Lazarus (Free Pascal) que permeten accedir fàcilment a aquesta base de dades. A l'hora de distribuir les nostres aplicacions, és molt senzill empaquetar la base de dades juntament amb l'aplicatiu.

De versions de SQLite a Ubuntu 10 en podem trobar dues de principals: la SQLite2 i la SQLite3. Per a la SQLite3, la més moderna, existeixen aplicacions gràfiques com SQLiteman o l'SQLite Database Browser (tots dos disponibles al "Centre de programari Ubuntu") que permeten dissenyar taules i fer consultes.

Per a la SQLite2 no serveixen les aplicacions anteriors i cal fer servir el client de línia d'ordres per a les tasques de disseny i administració.

Per a l'SQLite2, si tenim instal·lat el Gambas2 podem fer servir l'eina gambas2-database-manager.gambas.

Posats a triar entre SQLite3 i SQLite2 la versió més moderna és l'elecció obvia. Jo ho veig així. Tanmateix, en el cas de l'Ubuntu 10.04, per alguna raó que desconec, no s'ha incorporat el paquet php5-sqlite3 al "Centre de programari Ubuntu". Evidentment, és possible configurar el PHP per a accedir a BD del tipus sqlite3 però això implica alguna tasca addicional. Amb els paquets "out of the box" el que sí que funciona a la primera amb PHP és l'SQLite2.
Per la rao anterior potser hi haurà algun usuari d'Ubuntu 10.04 que preferirà muntar SQLite2 d'entrada en comptes de l'elecció més natural SQLite3.
OpenOffice Base a més de les pròpies bases de dades del tipus HyperSonic DB també permet accedir directament a altres tipus de bases de dades com MySQl, Oracle... i indirectament a totes aquelles per a les que es pugui trobar un driver JDBC, o drivers ODBC.

SQLite no és accessible directament sinó mitjançant un pas intermedi. En el meu cas, Ubuntu 10.04, és necessari configurar l'accés mitjançant ODBC.

Es tracta, doncs, d'instal·lar des del "Centre de programari de l'Ubuntu":
1. el paquet unixodbc-bin  (Unix ODBC)
2. el paquet libsqliteodbc (el driver Unix ODBC  per a SQLite)

Aleshores podrem utilitzar l'aplicació ODBCConfig per a configurar un DSN (DataSource Name, nomenclatura Microsoft!) al fitxer SQLite de base de dades que ens interessi.

Ara, des del nostre OpenOffice Base, ja podrem accedir a la base de dades SQLite sense més que fer "Nou" i accedir a una BD existent del tipus ODBC. Se'ns obrirà el ODBCConfig des del que podrem triar quin DSN volem fer servir.

I si accedim a una SQLite2, de pas, ara podrem fer servir l'OpenOffice Base com un excel·lent client gràfic per a crear taules, consultes i exportar-ne on importar-ne les dades

Cap comentari:

Publica un comentari a l'entrada