Autore Topic: Errore nella connessione  (Letto 1666 volte)

Offline dregi

  • Gambero
  • **
  • Post: 85
  • Non possum tuis usque tandem abutere patientiae?
    • Mostra profilo
Errore nella connessione
« il: 05 Settembre 2019, 18:51:58 »
....e finalmente sono riuscito a migrare il database da Access a Postgre, tutto bene. Il database lo apro e leggo con delle routine da codice, un record alla volta popolando dei Textbox. Dal momento che mi servirebbe un elenco, decido di usare Datasource e Databrowser che metto in un form e collego ad una connessione creata sotto Connessioni.
Al momento di aprire il form, quando deve connettere mi dà il seguente errore: cannot open database fe_sedauth: no password. Ho googlato un po', ma sul da farsi non c'ho capito molto...
Qualche buona anima sa cosa dovrei fare?

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.243
  • Tonno verde
    • Mostra profilo
Re:Errore nella connessione
« Risposta #1 il: 05 Settembre 2019, 19:32:52 »
decido di usare Datasource e Databrowser che metto in un form e collego ad una connessione creata sotto Connessioni.
Al momento di aprire il form, quando deve connettere mi dà il seguente errore: cannot open database fe_sedauth: no password. Ho googlato un po', ma sul da farsi non c'ho capito molto...
Qualche buona anima sa cosa dovrei fare?

Guarda sulle connessioni create così anche io ho cercato di capire come crearle su database che non sono all'interno del progetto ma non ci sono riuscito.
Ho fatto diverse prove suggerite sul forum francese direttamente da Bodard, ma nulla.
Ho anche chiesto sulla ML, nulla anche li o almeno mi sembra di aver capito che puoi ottenerla solo con database interni al progetto.

Spero di essere smentito da shordi  ;D

Siccome non so che Gambas hai in quello compilato ci sono degli esempi, ti allego quello che usa Datasource ma crea una connessione classica (diciamo così) vedi se ti aiuta.

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.243
  • Tonno verde
    • Mostra profilo
Re:Errore nella connessione
« Risposta #2 il: 06 Settembre 2019, 09:27:14 »
Al momento di aprire il form, quando deve connettere mi dà il seguente errore: cannot open database fe_sedauth: no password.

Ripensandoci a mente fredda, sembra che tu non gli abbia passato la password.
Io ho sempre provato questo tipo di connessione con SQLite che è standalone e forse è per quel motivo che con funziona con collegamenti a database esterni al progetto.
Puoi spiegare meglio come cerchi di collegarti?

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.243
  • Tonno verde
    • Mostra profilo
Re:Errore nella connessione
« Risposta #3 il: 06 Settembre 2019, 18:02:52 »
Ha creato un database vuoto (starsdb) seguendo le indicazioni dello wiki di sotema poi in un nuovo progetto gambas per database ho cliccato col tasto destro del mouse su Connessioni > Nuova connessione... e ho inserito nella finestra i dati richiesti corretti, ho scelto il database e ho dato ok.
L'unico inconveniente è che, credo non avendo impostato il portachiavi (è una virtuale), mi dice che non può salvare la password.

Vedi immagini allegate

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline dregi

  • Gambero
  • **
  • Post: 85
  • Non possum tuis usque tandem abutere patientiae?
    • Mostra profilo
Re:Errore nella connessione
« Risposta #4 il: 06 Settembre 2019, 23:33:37 »
Si certo è quello che succede anche a me....e poi però non funziona e dà l'errore che ti ho scritto, ossia non trova la password....quella password che non riesce a salvare?  :-\
Nel progetto database di esempio che mi hai segnalato, trovo dei buoni spunti da tenere in considerazione, ma non ho risolto il problema del collegamento del Datasource con una connessione e database.  nel mio codice ho seguito l'indicazione presente nella form FTest del progetto Database, come segue:
Codice: [Seleziona]
Public Sub Form_Activate()
    Connetti
    Associa 
End

Public Sub Connetti()
  $Con.Close()              ' Close the connection
  $Con.Type = "postgresql"  ' Type of connection
  $Con.Host = "localhost"   ' Name of the server
  $Con.Login = "postgres"   ' User's name for the connection
  $Con.Port = "5432"        ' Port to use in the connection, usually 3306
  $Con.Name = "OptoDB"      ' Name of the database we want to use
  $Con.Password = "psw"     ' User's password
Try $Con.Open()             ' Open the connection
If Error Then
  $Con = Null
  Message.Error("Errore durante la connessione")
Endif
End

Public Sub Associa()
If $Con <> Null Then
 DataSource1.Connection = DB.Current
Endif
End
Ebbene non succede nulla, o meglio, il programma va in errore, ma non segnala nulla del codice, bensì nella console leggo: gb.gui.qt: warning: 'gb.qt5' component not found, using
 'gb.qt4' instead
  :hard:

(Gambas 3.13.0)

Gianluigi>L'unico inconveniente è che, credo non avendo impostato il portachiavi (è una virtuale), mi dice che non può salvare la password.
Di cosa si tratta? Di quale portachiavi parli? Come si imposta?

« Ultima modifica: 06 Settembre 2019, 23:39:09 da dregi »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.243
  • Tonno verde
    • Mostra profilo
Re:Errore nella connessione
« Risposta #5 il: 07 Settembre 2019, 00:04:34 »
Si certo è quello che succede anche a me....e poi però non funziona e dà l'errore che ti ho scritto, ossia non trova la password....quella password che non riesce a salvare?  :-\
Non hai colto il suggerimento implicito  ;D vale a dire che credo che se tu imposti il portachiavi di Gnome dovrebbe funzionare
Citazione
Nel progetto database di esempio che mi hai segnalato, trovo dei buoni spunti da tenere in considerazione, ma non ho risolto il problema del collegamento del Datasource con una connessione e database.  nel mio codice ho seguito l'indicazione presente nella form FTest del progetto Database, come segue:
Codice: [Seleziona]
Public Sub Form_Activate()
    Connetti
    Associa 
End

Public Sub Connetti()
  $Con.Close()              ' Close the connection
  $Con.Type = "postgresql"  ' Type of connection
  $Con.Host = "localhost"   ' Name of the server
  $Con.Login = "postgres"   ' User's name for the connection
  $Con.Port = "5432"        ' Port to use in the connection, usually 3306
  $Con.Name = "OptoDB"      ' Name of the database we want to use
  $Con.Password = "psw"     ' User's password
Try $Con.Open()             ' Open the connection
If Error Then
  $Con = Null
  Message.Error("Errore durante la connessione")
Endif
End

Public Sub Associa()
If $Con <> Null Then
 DataSource1.Connection = DB.Current
Endif
End
Ebbene non succede nulla, o meglio, il programma va in errore, ma non segnala nulla del codice, bensì nella console leggo: gb.gui.qt: warning: 'gb.qt5' component not found, using
 'gb.qt4' instead
  :hard:

(Gambas 3.13.0)

Il warning è dovuto al fatto che nel PPA c'è un errore che abbiamo già segnalato a chi di dovere ma non è riuscito ancora a metterlo a posto, per non vederlo togli la spunta a gb.gui.qt e la metti a gb.qt4 e gb.qt4.ext.

Invece continui a non darmi retta per il resto, evidentemente non hai seguito la guida di sotema del wiki, altrimenti avresti creato l'utente test (dagli il tuo nome user) e con quello e non con l'utente root avresti creato il database.
Rileggiti bene la guida, controlla come ho fatto io (vedi il mio topic https://www.gambas-it.org/smf/index.php?topic=7253.0) metti tutto in ordine e crea correttamente un database vuoto.
posta qui i risultati di
Codice: [Seleziona]
postgres=# \l
postgres=# \du
postgres=# \c <nuovo database>
<nuovo database>=# \dn
Alla fine mi scrivi e vediamo come continuare usando il codice Gambas.

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.243
  • Tonno verde
    • Mostra profilo
Re:Errore nella connessione
« Risposta #6 il: 07 Settembre 2019, 00:11:34 »

Gianluigi>L'unico inconveniente è che, credo non avendo impostato il portachiavi (è una virtuale), mi dice che non può salvare la password.
Di cosa si tratta? Di quale portachiavi parli? Come si imposta?

Mentre ti rispondevo hai aggiunto questo, ora come ora non ricordo, il portachiavi è dove Gnome salva le password criptate, cerca su Google come attivarlo.
Sembra proprio che il portachiavi di Gnome non sia supportato, lascia perdere le ricerche...
« Ultima modifica: 07 Settembre 2019, 08:12:22 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline dregi

  • Gambero
  • **
  • Post: 85
  • Non possum tuis usque tandem abutere patientiae?
    • Mostra profilo
Re:Errore nella connessione
« Risposta #7 il: 07 Settembre 2019, 11:50:21 »
Gianluigi> evidentemente non hai seguito la guida di sotema del wiki,

Mi posti il link per favore?

Offline dregi

  • Gambero
  • **
  • Post: 85
  • Non possum tuis usque tandem abutere patientiae?
    • Mostra profilo
Re:Errore nella connessione
« Risposta #8 il: 07 Settembre 2019, 12:14:55 »
Gianluigi>nvece continui a non darmi retta per il resto</i>
Perdonami, faccio un po' di fatica a seguirti.
avresti creato l'utente test (dagli il tuo nome user) e con quello e non con l'utente root avresti creato il database.
Per chiarezza, da inesperto, quando sperimentalmente ho creato il database OptoDB ho lasciato come user e proprietario postgres, ma la connessione col codice che sopra ti ho postato funzionava egualmente collegata ai Textbox. Ora ho creato l'utente dregi con sua password, ho provato la connessione e funziona se collegata ai textbox.... per il collegamento con datasource, da buon velista, sono ancora in alto mare. ;D . Ho anche tentato di rendere propretario del database l'user dregi con
Codice: [Seleziona]
ALTER DATABASE OptoDB OWNER TO dregi
ma secondo me senza successo.

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.243
  • Tonno verde
    • Mostra profilo
Re:Errore nella connessione
« Risposta #9 il: 07 Settembre 2019, 12:40:48 »
Citazione
Mi posti il link per favore?
??? Te l'avevo già postata in precedenza.
https://www.gambas-it.org/wiki/index.php?title=Installazione_Server_PostgreSQL

Citazione
ma secondo me senza successo.

Perchè non posti il risultato dei comandi, come ti ho chiesto?
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline dregi

  • Gambero
  • **
  • Post: 85
  • Non possum tuis usque tandem abutere patientiae?
    • Mostra profilo
Re:Errore nella connessione
« Risposta #10 il: 07 Settembre 2019, 16:54:06 »
« Ultima modifica: 07 Settembre 2019, 17:26:39 da dregi »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.243
  • Tonno verde
    • Mostra profilo
Re:Errore nella connessione
« Risposta #11 il: 07 Settembre 2019, 17:00:31 »
Una banalità, un'immagine la posso postare solo attraverso un link?

Se guardi sotto l'editor vedi un + Allegati ed altre opzioni ci clicchi sopra, sotto Allega: clicchi su sfoglia e navighi fino al file che vuoi allegare.
Se devi allegare più cose clicchi su (altri allegati) se hai sbagliato file clicchi su (Rimuovi allegati) e ricominci daccapo.
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline dregi

  • Gambero
  • **
  • Post: 85
  • Non possum tuis usque tandem abutere patientiae?
    • Mostra profilo
Re:Errore nella connessione
« Risposta #12 il: 07 Settembre 2019, 17:27:15 »
Ops.... scusa, hoi leto i n ritardo. tra l'altro ora ho anche creato l' user test...

« Ultima modifica: 07 Settembre 2019, 17:27:56 da dregi »

Offline dregi

  • Gambero
  • **
  • Post: 85
  • Non possum tuis usque tandem abutere patientiae?
    • Mostra profilo
Re:Errore nella connessione
« Risposta #13 il: 07 Settembre 2019, 17:30:36 »
Ho scoperto ora risposta rapida, ma non trovo per allegati...

Offline dregi

  • Gambero
  • **
  • Post: 85
  • Non possum tuis usque tandem abutere patientiae?
    • Mostra profilo
Re:Errore nella connessione
« Risposta #14 il: 07 Settembre 2019, 17:37:52 »
Codice: [Seleziona]
postgres=# SELECT * from pg_user;
 usename  | usesysid | usecreatedb | usesuper | userepl | usebypassrls |  passwd  | valuntil | useconfig
----------+----------+-------------+----------+---------+--------------+----------+----------+-----------
 postgres |       10 | t           | t        | t       | t            | ******** |          |
 dregi    |    16466 | t           | t        | f       | f            | ******** |          |
 test     |    16467 | t           | f        | f       | f            | ******** |          |
(3 rows)