Introduzione

Questa pagina ha lo scopo di spiegare come collegare e sfruttare un DB MySql con OpenOffice.org.

Il contenuto è in via di sviluppo, ne stiamo discutendo nel Forum:
http://forum.ubuntu-it.org/viewtopic.php?t=8515

Le descrizioni riportate qui sotto sono state riprese da "Wikipedia" e da "OpenOffice.org & MySql"

Cos'è OpenOffice.org

E' una suite di software libero e può essere classificato come software di produttività personale. È basato sul codice della versione 5.2 di StarOffice, che dopo l'acquisizione da parte di Sun Microsystems è stato rilasciato con licenza libera. Più precisamente, il codice è soggetto ad una duplice licenza (GPL e LGPL; la licenza SISSL, precedentemente usata con le altre due, è stata abbandonata da Sun), e l'utente finale può scegliere quale adottare. L'abbreviazione "ufficiale" è OOo.

Il progetto ha come obiettivi quelli di fornire a tutti gli utenti un ottimo prodotto libero che possa competere con i prodotti commerciali attualmente dominanti in questo settore. Ha la caratteristica di essere compatibile con i formati di file di Microsoft Office, ma dispone anche di formati nativi basati su XML che, grazie all'utilizzo di un algoritmo di compressione (si tratta dell'LZW, lo stesso dei file "ZIP"), hanno dimensioni notevolmente ridotte rispetto alla concorrenza.

Sono supportate ufficialmente versioni per GNU/Linux, Microsoft Windows, Solaris e Mac OS X (la versione attuale su Mac OS richiede l'uso di X11), ma è possibile installarlo anche su altri sistemi operativi.
È disponibile in 44 versioni linguistiche ufficiali, a cui si aggiungono progetti di localizzazione "regionali" come la traduzione in lingua zulu sponsorizzata dal governo sudafricano.

L'ultima versione rilasciata è la 2.0.3 (pubblicata il 30 giugno 2006) che include:

Esportazione ed importazione nei formati PDF, Macromedia Flash, DocBook XML, Microsoft Office, SVG.

Nelle versioni precedenti è possibile configurare OpenOffice.org per collegarsi con database come postgreSQL, mySQL, ... avendo in questo modo a disposizione le prestazioni e le potenzialità di un vero database.

Dalla versione 2.0 c'è a disposizione una gestione diretta di una base di dati e un'interfaccia utente più versatile simile a quella utilizzata da Microsoft Office.

Cos'è MySql

E' un Database management system (DBMS) relazionale, composto da un client con interfaccia a caratteri e un server, entrambi disponibili sia per sistemi Unix che per Windows, anche se prevale un suo utilizzo in ambito Unix.
Dal 1996 supporta la maggior parte della sintassi SQL e si prevede in futuro il pieno rispetto dello standard ANSI. Possiede delle interfacce per diversi linguaggi, compreso un driver ODBC, due driver Java e un driver per Mono e .NET.
Il codice di MySQL viene sviluppato fin dal 1979 dalla ditta TcX ataconsult, adesso MySQL AB, ma è solo dal 1996 che viene distribuita una versione che supporta SQL, utilizzando in parte codice di un altro prodotto: mSQL.

Cos'è MySqlAdministrator

E' un front-end grafico per la gestione di server mysql e relativi database, dalla creazione degli utenti all'ottimizzazione dei database, al backup ed eventuale ripristino.
MySQL Administrator è un interessante tool con interfaccia grafica per la gestione e amministrazione dei propri database MySQL. Consente di lavorare con maggiore sicurezza e in un ambiente più familiare alla maggior parte degli utenti, senza dover utilizzare interfacce web o addirittura a linea di comando.
Il sistema è semplice, ma questo non ne riduce la completezza: con questo programma è infatti possibile amministrare MySQL praticamente tutti i suoi aspetti, dalla creazione degli utenti e i relativi permessi fino alla creazione dei database, passando per le statistiche relative all’uso del server. Consente di ottimizzare MySQL modo che i database occupino meno spazio e richiedano meno memoria, e soprattutto, funzione forse tra le più importanti e interessanti di questo software, consente di fare dei rapidi backup e successivamente dei recover sui database in caso di perdita accidentale dei dati.
Il software è distribuito gratuitamente sotto licenza GNU/GPL , è compatibile con diverse piattaforme (windows e linux su tutte), anche perché ovviamente il meglio di se lo da quando installato su server dove può gestire grandi quantità di database, ciò non toglie comunque che sia possibilissimo utilizzarlo sul proprio pc per amministrare il proprio MySQL nelle prove in locale.

Cos'è ODBC

Open Database Connectivity (ODBC) è una API standard per la connessione ai DBMS (Database Management System). Questa API è indipendente dai linguaggi di programmazione dai sistemi di database e dal sistema operativo. ODBC si basa sulle specifiche di Call Level Interface (CLI) di SQL, X/Open (ora parte di The Open Group) e ISO/IEC. È stata creata dall'SQL Access Group e la sua prima release risale al settembre 1992.

Installare i pacchetti necessari

Partendo dal presupposto che Open Office sia correttamente installato e funzionante, rimangono da installare oncora alcuni pacchetti:

mysql-server-4.1
libmyodbc
unixodbc
unixodbc-bin
mysql-admin

Creare un DSN editando il file "/etc/odbc.ini"

Lo standard ODBC prevede, per l'accesso ad uno specifico database, la creazione di un "Data Sourance Name". In pratica si tratta di un file di configurazione che contiene informazioni sull'archivio a cui bisogna collegarsi. I server Db, come MySql, possono gestire contemporaneamente molti database diversi, ed è quindi necessario indicare, oltre al "motore" che vogliamo usare, anche esattamente "a cosa" vogliamo accedere.

Aprire con un editor di testo e con i privilegi di amministrazione il file /etc/odbc.ini, e copiare all'interno quanto segue:

[ODBC Data Sources]
odbcname     = MyODBC 3.51 Driver DSN

[odbcname]
Driver       = /usr/lib/odbc/libmyodbc.so
Description  = MyODBC 3.51 Driver DSN
SERVER       = my.database.server.com
PORT         = 
USER         = USER
Password     = XXXXXX
Database     = DBNAME
OPTION       = 3
SOCKET       =

[Default]
Driver       = /usr/local/lib/libmyodbc3.so
Description  = MyODBC 3.51 Driver DSN
SERVER       = localhost
PORT         =
USER         = root
Password     =
Database     = test
OPTION       = 3
SOCKET       = 

Ora è possibile connettersi al database DBNAME usando la connessione ODBC denominata odbcname

Descrizione del contenuto di "odbc.ini"

...

[odbcname] ->è il nome della sorgente dati
SERVER = my.database.server.com ->è il nome del server mysql
USER = USER ->è il nome utente del database mysql
Password = XXXXXX ->è la password utente del database mysql
Database = DBNAME ->è il nome del database mysql

...

Creare una "sorgente dati" in OpenOffice

Esiste più di un modo per creare una "sorgente dati" in Open Office ma credo che per il nostro scopo, convenga fare così:

  1. Con Mysql Administrator (o con lo strumento che preferite) create un nuovo database mysql e relativo utente (se lo ritenete opportuno sfruttate l'utente "root")

  2. Avviate OOo Base: si aprirà la finestra "creazione guidata database"

  3. Selezionare "collega ad un database esistente" e poi dal menu a tendina "mysql", cliccate su "avanti"

  4. Selezionate "connetti con ODBC", cliccate su avanti

  5. Verrà chiesto il nome della "sorgente dati", cliccando su sfoglia, appariranno i nomi dei DSN settati nel file "odbc.ini", selezionate la sorgente desiderata, clicate "avanti"

  6. E' il momento di inserire il nome dell'utente con cui si accederà al DB, attivate anche il flag "psaaword reqired"

  7. Selezionate la voce "si, registra il database" e "apri il database per la modifica, poi cliccate su "fine"...

Questa "sorgente dati" sarà raggiungibile da qualunque applicazione di OOo alla pressione del tasto [F4]

Ulteriori risorse


CategoryServer CategoryDaRevisionare

Server/MySql/OpenOfficeOdbc (l'ultima modifica è del 14/03/2011 12.53.14, fatta da localhost)