Connessione Database su NAS

di il
6 risposte

Connessione Database su NAS

Ciao a tutti! Da qualche giorno mi sono interessato alla parte di interfaccia grafica in Java e sto tentando di creare un' applicazione che inizialmente richieda credenziali per l'accesso dell'utente situate in un database hostato su un nas e successivamente, se le credenziali dovessero andare bene, visualizzare un' altra interfaccia grafica nella quale è possibile inserire valori da riportare in un database creato con fogli Google.
Sto trovando molte difficoltà a dire al programma dove collegarsi in quanto scrivendo come url "jdbc:mariadb://{indirizzo-ip}/{nome-db}" il mio IDE mi fa presente che la connessione è stata rifiutata e che non riesce a trovare l'url inserito.
Qualcuno può dirmi qualche problematica che si può riscontrare quando ci si connette a database esterni dal localhost?
import java.sql.*;

public class Database {

    public static void main (String args[]) throws Exception {

        String url = "jdbc:mariadb://192.168.1.21/user_login";
        String u_name = "root";
        String pass = "";
        String query = "SELECT Password FROM Users WHERE Username=\"Wimowa\"";

        Class.forName("org.mariadb.jdbc.Driver");
        Connection con = DriverManager.getConnection(url,u_name,pass);
        Statement st = con.createStatement();
        ResultSet rs = st.executeQuery(query);

        rs.next();
        String password = rs.getString("Password");

        System.out.println(password);

        st.close();
        con.close();

        LoginPage.LoginProcess();

    }

}

6 Risposte

  • Re: Connessione Database su NAS

    Wimowa ha scritto:


    Sto trovando molte difficoltà a dire al programma dove collegarsi in quanto scrivendo come url "jdbc:mariadb://{indirizzo-ip}/{nome-db}" il mio IDE mi fa presente che la connessione è stata rifiutata
    Prima di provare da codice Java, prova sempre con un qualche "client" (grafico o non grafico, ce ne sono svariati). Se lì funziona, è un conto; se già lì non funziona è un altro conto.

    E comunque se da Java hai una eccezione, riportala qui, perché già con quello si può capire a che livello è il problema.
  • Re: Connessione Database su NAS

    andbin ha scritto:


    Wimowa ha scritto:


    Sto trovando molte difficoltà a dire al programma dove collegarsi in quanto scrivendo come url "jdbc:mariadb://{indirizzo-ip}/{nome-db}" il mio IDE mi fa presente che la connessione è stata rifiutata
    Prima di provare da codice Java, prova sempre con un qualche "client" (grafico o non grafico, ce ne sono svariati). Se lì funziona, è un conto; se già lì non funziona è un altro conto.

    E comunque se da Java hai una eccezione, riportala qui, perché già con quello si può capire a che livello è il problema.
    L'IDE mi da alcune eccezioni all'avvio del programma.
    Exception in thread "main" java.sql.SQLNonTransientConnectionException: Socket fail to connect to host:address=(host=192.168.1.21)(port=3306)(type=primary). Connection refused: no further information
    	at org.mariadb.jdbc.client.impl.ConnectionHelper.connectSocket(ConnectionHelper.java:136)
    	at org.mariadb.jdbc.client.impl.StandardClient.<init>(StandardClient.java:103)
    	at org.mariadb.jdbc.Driver.connect(Driver.java:64)
    	at org.mariadb.jdbc.Driver.connect(Driver.java:83)
    	at org.mariadb.jdbc.Driver.connect(Driver.java:27)
    	at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
    	at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
    	at Database.main(Database.java:14)
    Caused by: java.net.ConnectException: Connection refused: no further information
    	at java.base/sun.nio.ch.Net.pollConnect(Native Method)
    	at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:669)
    	at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:549)
    	at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:597)
    	at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:333)
    	at java.base/java.net.Socket.connect(Socket.java:645)
    	at org.mariadb.jdbc.client.impl.ConnectionHelper.connectSocket(ConnectionHelper.java:130)
    	... 7 more
    Quindi mi consigli di provare a connettermi con un client per la connessione ai database, al database interno alla rete?
  • Re: Connessione Database su NAS

    Wimowa ha scritto:


    Exception in thread "main" java.sql.SQLNonTransientConnectionException: Socket fail to connect to host:address=(host=192.168.1.21)(port=3306)(type=primary). Connection refused: no further information
    Molto molto probabilmente è riferito al problema indicato sulla kb di MariaDB: Unable to Connect from a Remote Location
  • Re: Connessione Database su NAS

    andbin ha scritto:


    Wimowa ha scritto:


    Exception in thread "main" java.sql.SQLNonTransientConnectionException: Socket fail to connect to host:address=(host=192.168.1.21)(port=3306)(type=primary). Connection refused: no further information
    Molto molto probabilmente è riferito al problema indicato sulla kb di MariaDB: Unable to Connect from a Remote Location
    È possibile trovare una soluzione o valida alternativa al NAS, perchè il punto è che mi serve un database che rimanga sempre online.
  • Re: Connessione Database su NAS

    Wimowa ha scritto:


    È possibile trovare una soluzione o valida alternativa al NAS
    Non so ovviamente che cosa sia quella macchina con IP 192.168.1.21 a cui vuoi connetterti. Ci sarebbero da fare delle verifiche, sia a livello di MariaDB (verificare che NON faccia il bind solo sul localhost ma anche su una interfaccia di rete, verificare le utenze), sia a livello più sistemistico (firewall hw/sw o quant'altro). È chiaro che tutto questo richiede di avere un certo "controllo", padronanza, su quella macchina. Se non ce l'hai (per qualunque motivo), purtroppo non si può fare molto ....

    Wimowa ha scritto:


    perchè il punto è che mi serve un database che rimanga sempre online.
    "online" in che contesto, quindi? Di una rete locale? Di internet? O che altro?
  • Re: Connessione Database su NAS

    andbin ha scritto:


    Wimowa ha scritto:


    È possibile trovare una soluzione o valida alternativa al NAS
    Non so ovviamente che cosa sia quella macchina con IP 192.168.1.21 a cui vuoi connetterti. Ci sarebbero da fare delle verifiche, sia a livello di MariaDB (verificare che NON faccia il bind solo sul localhost ma anche su una interfaccia di rete, verificare le utenze), sia a livello più sistemistico (firewall hw/sw o quant'altro). È chiaro che tutto questo richiede di avere un certo "controllo", padronanza, su quella macchina. Se non ce l'hai (per qualunque motivo), purtroppo non si può fare molto ....

    Wimowa ha scritto:


    perchè il punto è che mi serve un database che rimanga sempre online.
    "online" in che contesto, quindi? Di una rete locale? Di internet? O che altro?
    L'IP è quello del NAS, ma sto riscontrando molti problemi con la configurazione in quanto credo che sia molto limitato.
    La mia idea è quella di creare un' applicazione per la scrittura di valori su un database creato con fogli google, peró mi serve un interfaccia utente sulla quale fargli fare il login e siccome deve essere aggiornata volta volta con la rimozione di utenti e aggiunte mi serve che i dati siano sempre disponibili online a livello pubblico, infatti l'idea sarebbe stata quella di testare l'applicazione prima nella stessa rete e successivamente aprendo le porte del router per l'indirizzo ip del nas, renderla disponibile pubblicamente, con le giuste precauzioni.
Devi accedere o registrarti per scrivere nel forum
6 risposte