Italian B4J : MySql & Aruba

Discussion in 'Italian Forum' started by MARCO CORRIAS, May 9, 2019.

  1. MARCO CORRIAS

    MARCO CORRIAS Member Licensed User

    Buongiorno Ragazzi,
    ultimamente utilizzo B4J e Mysql su un db presente su Hosting Web gratuito della Netsons.org.
    Ftp e MySql ... tutto OK.
    Per il MySql utilizzavo il seguente codice

    Code:
    #Region Project Attributes
        
    #MainFormWidth: 900
        
    #MainFormHeight: 600
        
    #AdditionalJar: mysql-connector-java-5.1.39.jar
    #End Region

    Sub Process_Globals
        
    Private fx As JFX
        
    Private MainForm As Form
        
        
    Dim  SQLCon As SQL

        
    'Impostazioni per Accesso Diretto al Database
        Type MyDirectDatabase (dbhost As String, _
                  dbport 
    As String, _
                  dbname 
    As String, _
                  dbusername 
    As String , _
                  dbpassword 
    As String)
        
    Dim dbMySQL As MyDirectDatabase
        
        
      dbMySQL.dbhost =
    "webapp3.netsons.net" 
      dbMySQL.dbport = 
    3306 '
     dbMySQL.dbname ="yqfgqahvs_xxx"
      dbMySQL.dbusername =
    "xxxyyyttt"
     dbMySQL.dbpassword = 
    "password"
    per la connessione il seguente codice

    Code:
    Sub ConnectDatabase
        
    '    MySQL Connection Attempt
        Try
            
    'SQLCon.Initialize2("com.mysql.jdbc.Driver", "jdbc:mysql://" & dbMySQL.dbhost & ":" & dbMySQL.dbport & "/" & dbMySQL.dbname & "?characterEncoding=utf8",dbMySQL.dbusername,dbMySQL.dbpassword)
            SQLCon.InitializeAsync("SQLCon" ,"com.mysql.jdbc.Driver""jdbc:mysql://" & dbMySQL.dbhost & ":" & dbMySQL.dbport & "/" & dbMySQL.dbname & "?characterEncoding=utf8",dbMySQL.dbusername,dbMySQL.dbpassword)

        
    Catch
            
    ' handle Error, like
            Log("ERROR: " & LastException.Message)
        
    End Try

    End Sub
    Ora ho la necessità di accedere ad un DB MySql fornito da Aruba e
    pensavo semplicemente di modificare i dati di accessi con quelli che mi ha fornito Aruba ...esempio:

    dbMySQL.dbhost ="65.159.151.120"
    dbMySQL.dbport = "3306" "
    dbMySQL.dbname ="sql990779_2"
    dbMySQL.dbusername ="sql990779"
    dbMySQL.dbpassword = "e991c99e"
    '

    Ma mi segnala mancata connessione :(
    Qualcuno ha mai lavorato con Aruba ??

    Grazie in anticipo
     
  2. MARCO CORRIAS

    MARCO CORRIAS Member Licensed User

    Scusate , il log dell'errore è il seguente :


    Waiting for debugger to connect...
    Program started.
    com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
    The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:988)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:341)
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2251)
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2284)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2083)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:806)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:410)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:328)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at anywheresoftware.b4j.objects.SQL.Initialize2(SQL.java:57)
    at anywheresoftware.b4j.objects.SQL$1.call(SQL.java:98)
    at anywheresoftware.b4j.objects.SQL$1.call(SQL.java:1)
    at anywheresoftware.b4a.BA$4.run(BA.java:272)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
    Caused by: java.net.ConnectException: Connection timed out: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:211)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:300)
    ... 23 more
     
  3. udg

    udg Expert Licensed User

    In genere, per motivi di sicurezza, non è concesso raggiungere direttamente il DBMS (in questo caso mySQL sulla porta standard 3306).
    In pratica devi provare a verificare se l'utente con cui cerchi di connetterti è abilitato all'accesso remoto sul DB.
    Poi che non siano attivi filtri o altro, ad esempio un firewall che blocchi quella porta.
     
    MARCO CORRIAS and sirjo66 like this.
  4. sirjo66

    sirjo66 Well-Known Member Licensed User

    MARCO CORRIAS and Star-Dust like this.
  5. MARCO CORRIAS

    MARCO CORRIAS Member Licensed User

    Grazie Sergio ,
    Ma se non sbaglio avevo già fatto un test con questa tecnica mista in Php e B4A , e se non ricordo male avevo auto dei problemi nel caso di select che mi restituisce troppo risultati .... Se non ricordo male troncava qualcosa .
    Comunque , mi metto sotto, ora però con B4J e ti dico.
    Grazie ancora
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice