Autore Topic: Progetto pgDesigner 2/3  (Letto 86674 volte)

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #105 il: 05 Maggio 2011, 13:42:41 »
Stasera vedo di analizzare questi problemi.

Ti ricordo che ora il progetto si basa su Gambas2 2.23.0, quindi prova a ricompilare e ad aggiornare le Form (vedi menu gambas).

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #106 il: 05 Maggio 2011, 16:34:26 »
Nell'attesa ho installato Gambas2 2.23 e provato a creare un progetto SQLite3.
Tutto sembra funzionare ma quando vado ad aprire il progetto salvato pgd2 mi segnala errore nell'apertura progetto. nel log, che ti allego unitamente al progetto, non vedo nulla di significativo.
Nota che il progetto consiste in una semplicissima tabella vuota.

Con PostgreSQL84 permane il problema del Tipo ENUM (Type mismatch: wanted Collection, got String[] instead)

A tua disposizione per ogni prova ti sia d'aiuto.
Ciao
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #107 il: 05 Maggio 2011, 20:14:18 »
Credo di aver eliminato anche i due errori rimasti in piedi.

1) c'erano alcuni errori, rimasti da alcune precedenti modifiche, circa le proprietà degli oggetti Type
2) c'era un valore di ritorno invertito in alcune funzioni della procedura di caricamento dei file di progetto.

La nuova versione è disponibile su sf.net.

Fammi sapere se ora è a posto.

P.S.: nel prox aggiornamento ti inserisco nell'elenco contributori, così ti impari...  :P
        (ovviamente dovrai darmi il tuo nome vero, se mi dai il permesso di farlo...)

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #108 il: 05 Maggio 2011, 23:28:38 »
Ho provato la nuova versione, ecco i risultati dei test.

1. Postgresql84: risolto l'errore sul Type.  :ok:

2. Mysql50: risolto il problema di caricamento progetto e combo Field Type.  :ok:
    Rimane il problema del Field Length. Impostando la dimensione del campo = 80 e Decimali =0 nella maschera Modifica Tabella la colonna Len della GridView riporta 800 (vedi figura Field_len.png) laddove dovrebbe essere 80,0

3. SQLite30: purtroppo con questo motore permane un problema  nella configurazione dei campi di tabella. Ti elenco i passi eseguiti:
  • 1. Creo un nuovo progetto
  • 2. Creo una nuova tabella
  • 3. Creo un campo INTEGER autoincrementato Primary Key
  • 4. Salvo la tabella
  • 5. Seleziono modifica tabella
  • 6. Aggiungo un campo TEXT
  • 7. Salvo la tabella
a questo punto ottengo l'errore 'This application has raised an unaxpected error and must aborted' (vedi figura Errore_sqlite3).

Inserendo una interruzione alla linea 2055 della classe pgSQlite20, la funzione IsForeignKey, ed avanzando step by step  nel codice, ho riscontrato che l'errore è generato dal valore NULL ritornato dalla funzione getValue in pgData.class; tale valore dovrebbe essere una ENUMERATION secondo l'istruzione
Codice: [Seleziona]
FOR EACH oRelation IN table.GetValue("RelationsFrom")
.
Credo quindi che stia tentando di enumerare un oggetto NULLO. Potrebbe anche essere un baco di gb2, in effetti mi aspetterei l'errore Null Object, ma riconosco che la struttura di pgdesigner2 è molto complessa e certamente la mia analisi è sbagliata.

Spero di averti aiutato e non averti confuso le idee con la mia esposizione.

Circa la tua offerta di inserirmi nei contributori se lo ritieni ne sarei onorato, poiché ritengo il mio 'contributo' veramente minimo quindi senza indugio, permesso accordato. Il nome: Emanuele Sottocorno . Ma fai attenzione che quando mi assumo un compito non mi fermo finchè non lo porto a termine.... :hard:

L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #109 il: 06 Maggio 2011, 18:47:39 »
Corretti tutti e due gli errori. Riguardo al primo, l'anomalia era presente sia su SQLite che MySQL.

Ho aggiornato il repository.

Fammi sapere

NOTA: dai un'occhiata in About...  ;)

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #110 il: 06 Maggio 2011, 20:35:34 »
  :D
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #111 il: 07 Maggio 2011, 16:55:10 »
Ciao Luigi,
procedendo con i test di PGDesigner2 ho riscontrato la seguente anomalia:
pgDesigner2 build 179.800
driver: PostgreSQL8.4
Funzione: Esporta Verso Fonti Esterne

Salva su Database:
Selzionando 'Tutti' nel gruppo 'Oggetti' il processo fallisce nella creazione del TIPO:
Aggiorna database ...
Scrittura <Tipo::comparto> ...
Too many arguments
Errore processo!
Too many arguments

deselezionando l'oggetto 'comparto' il processo termina correttamente.

Se, alternativamente, salvo su file sql, l'esecuzione dello stesso termina correttamente in ogni caso.

Emanuele.
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #112 il: 07 Maggio 2011, 17:57:32 »
AEOH!!! Me vuoi fà lavorà proprio...  :D

La nuova versione è sul repository.

Fammi sapere.
Grazie

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #113 il: 07 Maggio 2011, 19:14:25 »
A proposito, ho aggiornato i driver PostgrSQL per caricare dal database i valori per i TYPE ENUM...

Non ho trovato ancora il modo di farlo per gli ATTRIBUTE...

Il repository e nuovamente aggiornato. Due versioni nella stessa giornata... mò basta...  :D

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #114 il: 08 Maggio 2011, 13:03:02 »
Sono riuscito anche a caricare da db i TYPE COMPOSITE.

Nuovo aggiornamento al repository.

Bye

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #115 il: 08 Maggio 2011, 13:22:42 »
Per oggi niente problemi,
Citazione
AEOH!!! Me vuoi fà lavorà proprio...
solo un quesito.
Non ho capito come funzioni l'opzione Crea Database della funzione Esporta... ho fatto queste prove:
  • lmposto il nome del db (pneusoft) nella maschera Parametri Progetto --> Configura DB, ma pgdesigner non ne tiene conto, infatti nel file SQL generato il comando CREATE DATABASE non è seguito dal nome_db
  • Impostando il nome_db nei parametri di connessione ovviamente ottengo errore di database inesistente.

è possibile fare si che dal progetto venga creato il database direttamente sul server? Questo ovviamente solo alla prima esportazione.

Ora vado ad aggiornare  e poi mi metto al lavoro...
Ciao
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #116 il: 08 Maggio 2011, 13:37:05 »
Sulla creazione del database ci sono alcuni problemi...

In teoria, solo l'utente amministratore (postgres) può creare database, e se nel progetto ti agganci al database come normale utente, non riesci a crearlo.

Al momento, le istruzioni di creazione del database, sono valide solo per l'esportazione su file (sql o report).

Devo studiare il modo di poter gestire la cosa con più utenze, a meno che il progetto non venga creato con l'utente postgres, e poi andare a dare le giuste grant all'interno del motore PostgreSQL.

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #117 il: 08 Maggio 2011, 13:46:08 »
Citazione
Al momento, le istruzioni di creazione del database, sono valide solo per l'esportazione su file (sql o report).

OK, ma il nome del database non compare nel file (sql) generato. vedi allegato


L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #118 il: 09 Maggio 2011, 00:24:37 »
Hai perfettamente ragione...

Il fatto è che su questo punto devo ancora lavorarci su...

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Progetto pgDesigner 2
« Risposta #119 il: 09 Maggio 2011, 13:03:26 »
e' solo un'ipotesi, fammi sapere cosa ne pensi:
considerato che pgDesigner è uno strumento di progettazione DB e non un DBMS manager, selezionando la funzione Salva su database, la maschera di connessione imposta il textbox utente con le proprietà:
  • .ReadOnly = true
  • .Text = "postgres"
cosicché si debba obbligatoriamente utilizzare questo, conoscendone ovviamente la password
per la textbox Nome
  • .Text = 'nome_del_db_da_creare'
Il nome_del_db_da_creare potrebbe essere impostato dalla maschera Configura Progetto.

Dopodiché una volta creato il DB verranno impostati i privilegi di ciascun utente tramite psql o altro strumento.

Nel caso in cui il progettista non conosca la password di postgres, sarebbe obbligato a Esportare su File (sql) che sarà eseguito successivamente da utente con privilegi adeguati.
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein