collegare Openoffice Base a database PostgreSql

Avatar utente
marcofoc
Messaggi: 235
Iscritto il: martedì 12 ottobre 2010, 16:48
Località: Arzignano (VI)
Contatta:

collegare Openoffice Base a database PostgreSql

Messaggio da marcofoc »

Con questo tutorial, impareremo:
1. Ad installare un server database PostgreSql nella nostra macchina
2. Predisporlo per un utilizzo dello stesso in rete
3. Salvare la base dati
4. Interfacciarvisi con Openoffice Base
5. Trasferire i dati da un database Openoffice Base al nuovo database attraverso uno script Python

La prima cosa da fare, è installare il server PostgreSql.
Su macchine Linux, è ovviamente presente nei repository. Basta cliccarci sopra e scaricare il pacchetto. Installate anche PgAdmin, che sarà l'interfaccia grafica che utilizzerete per amministrare il database
Per macchine Windows, basta andare sul sito, scaricare il pacchetto e installarlo.

D'ora in avanti, parlerò solo per utenze Linux. Se dovessero nascere problemi per utenze Windows, postatele. Le risolviamo man mano.

accedere al server sul database di prova (template1), al fine di impostare una password per l'utente già creato in automatico in fase di installazione: “postgres”. Senza questa procedura di impostazione di password, non si riuscirebbe ad accedere al server

Codice: Seleziona tutto

sudo -u postgres psql template1
si accede così al prompt di psql, attraverso il quale cambiamo l'user come sopra detto:

Codice: Seleziona tutto

ALTER USER postgres with PASSWORD 'password';
è importante che la password sia compresa fra apici (non “ ), e che alla fine del comando ci sia un punto e virgola. Solo se trova un ; l'interprete capisce che l'istruzione e finita e la può eseguire.
Fatto questo, usciamo dal prompt psql e torniamo al prompt ubuntu con la seguente istruzione

Codice: Seleziona tutto

\q;
visto che ora avremo una password da dare quando psql ce lo chiederà, possiamo iniziare con il creare un database:
sudo -u postgres createdb nomedatabase

Non possiamo ancora utilizzare il server: bisogna configurare i due file di configurazione Postgresql.
Apriamo con un editor di testi, i due file di configurazione principali:

Codice: Seleziona tutto

/etc/postgresql/8.4/main/postgresql.conf
/etc/postgresql/8.4/main/pg_hba.conf
il file postgresql.conf va modificato come vedete sotto, su listen_addresses (in modo che possa ricevere richieste da qualunque host, non solo il local)

e il file pg_hba, come segue:

Ora il server è impostato a livello di sicurezza ZERO: chiunque della rete lan vi si può collegare, senza dare password.. approfondiremo più avanti magari questo aspetto.

Ora il server è pronto per l'uso. Apriamo PgAdmin e iniziamo a creare la struttura per i dati.
Suggerisco di fare in modo che sia identica a quella del vecchio database, in modo da evitare problemi poi nel trasferimento dati (attenzione quindi ai vincoli, relazioni, nomi delle colonne, etc..)
Allegati
pg_hba.conf
pg_hba.conf
postgresql.conf
postgresql.conf
Non esistono buoni maestri senza buoni allievi...
turi
Messaggi: 154
Iscritto il: sabato 4 dicembre 2010, 15:34

Re: collegare Openoffice Base a database PostgreSql

Messaggio da turi »

scusa ma sono molto, ma molto, inesperto..

come si inseriscono queste stringhe??

Codice: Seleziona tutto

accedere al server sul database di prova (template1), al fine di impostare una password per l'utente già creato in automatico in fase di installazione: “postgres”. Senza questa procedura di impostazione di password, non si riuscirebbe ad accedere al server
CODICE: SELEZIONA TUTTO   ESPANDI VISUALE
sudo -u postgres psql template1

si accede così al prompt di psql, attraverso il quale cambiamo l'user come sopra detto:
CODICE: SELEZIONA TUTTO   ESPANDI VISUALE
ALTER USER postgres with PASSWORD 'password';


P.S. uso windows.
OpenOffice.org 3.3.0 su windows 7 e windows XP
Avatar utente
marcofoc
Messaggi: 235
Iscritto il: martedì 12 ottobre 2010, 16:48
Località: Arzignano (VI)
Contatta:

Re: collegare Openoffice Base a database PostgreSql

Messaggio da marcofoc »

Vedo che lavori su windows..
quindi inizia con fare il download del pacchetto ed installarlo.
Lascia perdere i comandi che ho postato sopra: sono per utenti Linux.

http://www.enterprisedb.com/join-dev-co ... ileid=1653
Non esistono buoni maestri senza buoni allievi...
turi
Messaggi: 154
Iscritto il: sabato 4 dicembre 2010, 15:34

Re: collegare Openoffice Base a database PostgreSql

Messaggio da turi »

mi richiede una password durante il setup.. ma non capisco a quale possa essere... mi chiede la password per l'account postgres..
P.S. Auguri :)
OpenOffice.org 3.3.0 su windows 7 e windows XP
Avatar utente
marcofoc
Messaggi: 235
Iscritto il: martedì 12 ottobre 2010, 16:48
Località: Arzignano (VI)
Contatta:

Re: collegare Openoffice Base a database PostgreSql

Messaggio da marcofoc »

è normale!
durante l'installazione, viene creato un nuovo utente: postgres. Questo è l'utente "amministratore" del database.
Dagli una password. A piacimento.

Tanti auguri anche a te.
Non esistono buoni maestri senza buoni allievi...
turi
Messaggi: 154
Iscritto il: sabato 4 dicembre 2010, 15:34

Re: collegare Openoffice Base a database PostgreSql

Messaggio da turi »

questo l'avevo intuito perchè mi chiede 2 volte pa passwd XD.. il problema è che non mi fa proseguire qualunque passwd metto :). mi dice che la passwd non è corretta... e se provo ad andare avanti senza inserirla mi dice che obbligatorio scegliere una password :S

Avevo installato la 9.0 prima e l'ho disinstallata per installare la tua... questo può centrare qualcosa...??

P.S. la passwd me la chiede anche se provo a reinstallare la 9.0
OpenOffice.org 3.3.0 su windows 7 e windows XP
turi
Messaggi: 154
Iscritto il: sabato 4 dicembre 2010, 15:34

Re: collegare Openoffice Base a database PostgreSql

Messaggio da turi »

sono proprio sfortunato vero>??? :(
OpenOffice.org 3.3.0 su windows 7 e windows XP
Avatar utente
marcofoc
Messaggi: 235
Iscritto il: martedì 12 ottobre 2010, 16:48
Località: Arzignano (VI)
Contatta:

Re: collegare Openoffice Base a database PostgreSql

Messaggio da marcofoc »

No no, non è questione di fortuna.
E non è questione di versione di PostgreSQL.
Aspetta, scarico il file e provo ad installarlo.. ho qui una partizione Win qui apposta per ste cose..
Non esistono buoni maestri senza buoni allievi...
Avatar utente
marcofoc
Messaggi: 235
Iscritto il: martedì 12 ottobre 2010, 16:48
Località: Arzignano (VI)
Contatta:

Re: collegare Openoffice Base a database PostgreSql

Messaggio da marcofoc »

Allora, sono su Win e ho lancialo l'installazione.
Facciamo passo passo:
ti chiede l'installation directory: lascia quella di default
ti chiede la data directory: lascia quella di default
ti chiede la password per il superuser (chiamato postgres): danne una a tuo piacimento
ti chiede che come impostare l'ora del cluster: lascia quella di default locale

parte l'unpacking..

alla fine ti chiede se vuoi avviare Stackbuilder: serve per installare applicazioni aggiuntive: lascia perdere. Lo potrai rilanciare in futuro.

Bene, fatto:
ora su programmi troverai un nuovo collegamento "PostgreSQL 8.4"
All'interno di questo menu troverai vari comandi: quello che ti serve è PGAdmin: lancialo.
In alto a sx troverai un server già installato: "PostgreSQL 8.4 (localhost:5432)"
Lancialo: ti chiederà la password: dagli quella che hai impostato in sede di installazione.
All'interno troverai un database già inserito per default: postgres. Lascialo perdere.
Tu crea il tuo: mettiti sopra database e fai: crea nuovo. Dagli il nome e sei pronto.

Una ultima cosa:
devi configurare il server perchè possa ricevere richieste anche da altri pc della rete.
Vai su Risorse del Computer: C:\Programmi\PostgreSQL\8.4\data
All'interno di questa cartella trovi i due file (pg_hba.conf e postgresql.conf). Cambiali come da istruzioni sopra.

Il prossimo passo sarà collegare Openoffice al server.

Stop. Ritorno a Linux. Mi sono già venute fuori le pustole sulle dita! :D
Non esistono buoni maestri senza buoni allievi...
turi
Messaggi: 154
Iscritto il: sabato 4 dicembre 2010, 15:34

Re: collegare Openoffice Base a database PostgreSql

Messaggio da turi »

qualunque password metto nel terzo step mi dice : "The password specified was incorrect. Please enter correct password for the postgres windows user account.".

Se la scio vuoto:"You must enter a password to continue".

P.S. so fare un'installazione XD XD XD
OpenOffice.org 3.3.0 su windows 7 e windows XP
turi
Messaggi: 154
Iscritto il: sabato 4 dicembre 2010, 15:34

Re: collegare Openoffice Base a database PostgreSql

Messaggio da turi »

se qualcuno dovesse avere il mio stesso problema ho risolto cosi:
start > esegui > control userpasswords2

bisogna eliminare l'utente postgres... poi l'installazione va avanti..
il problema era causato dalla vecchia installazione di postgres che aveva lasciato l'utente ;)
OpenOffice.org 3.3.0 su windows 7 e windows XP
turi
Messaggi: 154
Iscritto il: sabato 4 dicembre 2010, 15:34

Re: collegare Openoffice Base a database PostgreSql

Messaggio da turi »

P.S. sono a pari passo :)
Attendo news per la creazione della struttura.. :knock:
OpenOffice.org 3.3.0 su windows 7 e windows XP
Avatar utente
marcofoc
Messaggi: 235
Iscritto il: martedì 12 ottobre 2010, 16:48
Località: Arzignano (VI)
Contatta:

Re: collegare Openoffice Base a database PostgreSql

Messaggio da marcofoc »

Bene Turi!!
Allora, ora devi creare la struttura utilizzando PgAdmin, copiando quella già fatta con Openoffice.
Crea tutte le tabelle, utilizza gli stessi nomi colonna e via dicendo.

Intanto, per connettere Openoffice base al server, scarica l'estensione:
http://dba.openoffice.org/drivers/postg ... 0.7.6b.zip

Salvalo dove vuoi, poi apri un foglio writer, vai su Strumenti, Gestione estensioni, e carica il file zip (non occorre scompattarlo).
Poi chiudi tutti i file aperti che hai di Openoffice, e apri un nuovo database Base.
Vedi le immagini sotto.
Allegati
Schermata.png
Schermata-Creazione guidata database-1.png
Schermata-Creazione guidata database-2.png
Non esistono buoni maestri senza buoni allievi...
turi
Messaggi: 154
Iscritto il: sabato 4 dicembre 2010, 15:34

Re: collegare Openoffice Base a database PostgreSql

Messaggio da turi »

ok... adesso... come creo la struttura della tabella in postgresql?
OpenOffice.org 3.3.0 su windows 7 e windows XP
Avatar utente
marcofoc
Messaggi: 235
Iscritto il: martedì 12 ottobre 2010, 16:48
Località: Arzignano (VI)
Contatta:

Re: collegare Openoffice Base a database PostgreSql

Messaggio da marcofoc »

ora da PgAdmin inizia a crearti tutte le tabelle, cerca di tenere gli stessi nomi tabella e nomi colonna.
Una volta creata la struttura, inizieremo a trasferire i dati.
Non credo che tu voglia che io ti insegni a creare una tabella... si fa tutto a video, con PgAdmin: tabelle, relazioni, vincoli, etc..
Chiedimi sullo specifico, e ti risponderò.
Non esistono buoni maestri senza buoni allievi...
turi
Messaggi: 154
Iscritto il: sabato 4 dicembre 2010, 15:34

Re: collegare Openoffice Base a database PostgreSql

Messaggio da turi »

Nello specifico: Da postgres dove vado per creare una nuova tabella con le relative colonne? XD
OpenOffice.org 3.3.0 su windows 7 e windows XP
turi
Messaggi: 154
Iscritto il: sabato 4 dicembre 2010, 15:34

Re: collegare Openoffice Base a database PostgreSql

Messaggio da turi »

ok, sono andato nel database.. > schemi > public > tabella.
ho creato la tabella, vado per creare le colonne ma non c'è il tipo di dato di testo VARCHAR :crazy:
OpenOffice.org 3.3.0 su windows 7 e windows XP
Avatar utente
marcofoc
Messaggi: 235
Iscritto il: martedì 12 ottobre 2010, 16:48
Località: Arzignano (VI)
Contatta:

Re: collegare Openoffice Base a database PostgreSql

Messaggio da marcofoc »

a questo tipo corrisponde il "character varing".... anche qui puoi impostare il numero massimo di caratteri.

Senti, gli schemi:
in questo caso sei su quello creato in automatico: public.
Ne puoi creare ancora, se vuoi. Servono solo per dividere ed organizzare meglio le tabelle.. invece di averle tutte ammucchiate in un posto solo.
Puoi ad esempio crearti uno schema clienti, e uno fornitori.. e via dicendo..
Non esistono buoni maestri senza buoni allievi...
turi
Messaggi: 154
Iscritto il: sabato 4 dicembre 2010, 15:34

Re: collegare Openoffice Base a database PostgreSql

Messaggio da turi »

appena faccio fine, quando creo nuovo database, si blocca. sono stato ad aspettare anche 10 minuti sperando si sbloccasse, ho provato più di una volta.. ma niente, rimane bloccato quando clicco su "fine" e salvo sul desktop.
Provo a riavviare.
OpenOffice.org 3.3.0 su windows 7 e windows XP
turi
Messaggi: 154
Iscritto il: sabato 4 dicembre 2010, 15:34

Re: collegare Openoffice Base a database PostgreSql

Messaggio da turi »

ok risolto, anche se nell'ultima immagine non è fleggata, bisogna fleggare la password XD
Adesso quindi diamo quasi alla fine :p manca spostare i dati e creare il formulario no?

P.S. in "tabelle" (In base) mi spuntano tantissime tabelle :S
OpenOffice.org 3.3.0 su windows 7 e windows XP
turi
Messaggi: 154
Iscritto il: sabato 4 dicembre 2010, 15:34

Re: collegare Openoffice Base a database PostgreSql

Messaggio da turi »

Forse ho capitooooooooooooooooo
da base vado in public, mi posiziono sopra la mia tabella e faccio copia incolla della tabella con i 4000 record che avevo prima.
e poi mi creo il formulario... giusto???

P.S. se entro nella tabella (da base) non mi da la possibilità di inserire nuovi record.

P.P.S. Mi dà problemi a copiare i boolean [Si/No]
OpenOffice.org 3.3.0 su windows 7 e windows XP
Avatar utente
marcofoc
Messaggi: 235
Iscritto il: martedì 12 ottobre 2010, 16:48
Località: Arzignano (VI)
Contatta:

Re: collegare Openoffice Base a database PostgreSql

Messaggio da marcofoc »

turi ha scritto:ok risolto, anche se nell'ultima immagine non è fleggata, bisogna fleggare la password XD
Cavolo, scusami!!
Avevo dato per scontato che il server non necessitasse il passaggio della password! Invece si!!

Aspetta, Turi.
PostgreSQL non credo ti permetta di fare copia e incolla di tabelle!!
Devi creare la struttura, poi facciamo un piccolo script in python e passiamo dentro i dati.
Non esistono buoni maestri senza buoni allievi...
turi
Messaggi: 154
Iscritto il: sabato 4 dicembre 2010, 15:34

Re: collegare Openoffice Base a database PostgreSql

Messaggio da turi »

ah ok, allora attendo tue notizie, considera che già la struttura è fatta.. unico problema il boolean [Si/No] che non so com'è in postgresql.
P.S. non so cos'è Python. quindi fa come se fossi un bambino per spiegarmelo :lol:
OpenOffice.org 3.3.0 su windows 7 e windows XP
Avatar utente
marcofoc
Messaggi: 235
Iscritto il: martedì 12 ottobre 2010, 16:48
Località: Arzignano (VI)
Contatta:

Re: collegare Openoffice Base a database PostgreSql

Messaggio da marcofoc »

Python è un magnifico linguaggio di programmazione.
Stasera ti preparo lo script, intanto installati python:
http://www.python.org/ftp/python/2.7/python-2.7.msi
e il driver che permette a python di dialogare con postgres:
http://www.stickpeople.com/projects/pyt ... elease.exe

ci sentiamo stasera.
Non esistono buoni maestri senza buoni allievi...
turi
Messaggi: 154
Iscritto il: sabato 4 dicembre 2010, 15:34

Re: collegare Openoffice Base a database PostgreSql

Messaggio da turi »

quando cerco di installare i driver mi dice che serve la versione 2.6 di python.
quella che mi hai dato tu è la 2.7 e nel sito non c'è la 2.6 :(
OpenOffice.org 3.3.0 su windows 7 e windows XP
Avatar utente
marcofoc
Messaggi: 235
Iscritto il: martedì 12 ottobre 2010, 16:48
Località: Arzignano (VI)
Contatta:

Re: collegare Openoffice Base a database PostgreSql

Messaggio da marcofoc »

Non esistono buoni maestri senza buoni allievi...
Avatar utente
marcofoc
Messaggi: 235
Iscritto il: martedì 12 ottobre 2010, 16:48
Località: Arzignano (VI)
Contatta:

Re: collegare Openoffice Base a database PostgreSql

Messaggio da marcofoc »

Prima di fare lo script, devi estrarre i dati dalla tabella del database in un file calc, eliminare la prima riga di intestazione, e salvare il file in formato csv, utilizzando un carattere UNIVOCO per la separazione dei campi. Io di solito uso il "$", perchè so che nei miei dati non è mai presente.
Servirà poi allo script per splittare le colonne.
Non esistono buoni maestri senza buoni allievi...
turi
Messaggi: 154
Iscritto il: sabato 4 dicembre 2010, 15:34

Re: collegare Openoffice Base a database PostgreSql

Messaggio da turi »

Altro problema:
1)Non so come si estraggono i dati dalla tabella del database in un file calc.
2) non so come si utilizza pylthon
3) Nelle colonne come si fa il boolean [Si/No](le caselle da fleggare) che non vadano in conflitto con postgresql?
Te l'ho detto, fai finta che sono un bimbo che non sa nulla :roll:
OpenOffice.org 3.3.0 su windows 7 e windows XP
Avatar utente
marcofoc
Messaggi: 235
Iscritto il: martedì 12 ottobre 2010, 16:48
Località: Arzignano (VI)
Contatta:

Re: collegare Openoffice Base a database PostgreSql

Messaggio da marcofoc »

Allora, per le colonne booleane.. non ti preoccupare. Problemi Zero.
Per python, nemmeno.

Estrazione dei dati:
apri un foglio in Calc, e premi F4 (sorgenti di dati).
Dovrebbe apparire il tuo vecchio database, fra le sorgenti disponibili.
Cerca la tua tabella, seleziona tutti i dati e trascinali sul foglio.
Apposto!
Ri-premi F4 così chiudi le sorgenti software!
Allegati
Schermata.png
Schermata2.png
Non esistono buoni maestri senza buoni allievi...
turi
Messaggi: 154
Iscritto il: sabato 4 dicembre 2010, 15:34

Re: collegare Openoffice Base a database PostgreSql

Messaggio da turi »

Fatto e salvato in file cvs.. come separatore di campo messo anche io $ (che non lo uso mai) e poi c'era separatore (non mi ricordo cosa) che era " (viegolette-ho lasciato questo).
OpenOffice.org 3.3.0 su windows 7 e windows XP
Rispondi