Autore Topic: Connessione database  (Letto 1747 volte)

Offline vannian

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Connessione database
« il: 10 Febbraio 2012, 22:28:30 CET »
0
Salve,
sto cercando di connettere al database e tirare fuori i dati.


Codice (Java): [Seleziona]
package com.example.tamilpage;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;


public class SearchResults extends Activity{

        private static final String url = "........../";
        private static final String dbName = "learnphp_campo";
        private static final String userName = "learnphp_campo";
        private static final String passWord = "........";
        private static final String driver = "com.mysql.jdbc.Driver";

        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.resultview);

                TextView myText = (TextView) findViewById(R.id.textView1);
               
                System.out.println("ciao");
                Connection conn;

                try{
                        Class.forName(driver).newInstance();
                        conn = DriverManager.getConnection(url+dbName, userName, passWord);
                        myText.setText("Database connected");
                        Statement stmt = conn.createStatement();
                        ResultSet rs = stmt.executeQuery("SELECT * FROM scouting");
                        Log.i("log_tag","sono qui");
                        while (rs.next()){
                                Log.i("log_tag",(rs.getString(1)).toString());
                                myText.setText(rs.getInt("idPartita"));
                                System.out.println(rs.getString(2));
                        }
                       
                }catch(Exception e){
                        e.printStackTrace();
                }



        }



}


Il problema è che non trova "com.mysql.jdbc.Driver". Allora ho scaricato "mysql-connector-java-5.1.18-bin.jar" e ho cercato di aggiungere al "Java Build Path" (external jar file). Ma dopo mi da un altro errore di tipo: Conversion to Dalvik format failed with error 1” on external Jar.

Non so come risolvere... qualcuno sa come posso mettere a posto il problema? :-(

Grazie

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Connessione database
« Risposta #2 il: 11 Febbraio 2012, 08:46:19 CET »
0
Non so come risolvere... qualcuno sa come posso mettere a posto il problema? :-(

Prova ad usare un'altra versione del connector: ho letto che mysql-connector-java-3.0.17-ga-bin.jar ho letto in giro dovrebbe funzionare...

Offline vannian

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Connessione database
« Risposta #3 il: 12 Febbraio 2012, 22:36:16 CET »
0
Grazie... adesso sono riuscito ad integrare jdbc...
però non riesco ad accedere al database... Non mi da nessun errore... dopo un po' lancia l'eccezione

Codice (Java): [Seleziona]
02-12 21:29:31.321: WARN/System.err(3291): java.sql.SQLException: Unable to connect to any hosts due to exception: java.net.SocketException: java.net.SocketException: The operation timed out
02-12 21:29:31.321: WARN/System.err(3291): ** BEGIN NESTED EXCEPTION **
02-12 21:29:31.321: WARN/System.err(3291): java.net.SocketException
02-12 21:29:31.321: WARN/System.err(3291): MESSAGE: java.net.SocketException: The operation timed out
02-12 21:29:31.331: WARN/System.err(3291): STACKTRACE:
02-12 21:29:31.331: WARN/System.err(3291): java.net.SocketException: java.net.SocketException: The operation timed out
02-12 21:29:31.331: WARN/System.err(3291):     at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:143)
02-12 21:29:31.331: WARN/System.err(3291):     at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:225)
02-12 21:29:31.331: WARN/System.err(3291):     at com.mysql.jdbc.Connection.createNewIO(Connection.java:1805)
02-12 21:29:31.331: WARN/System.err(3291):     at com.mysql.jdbc.Connection.<init>(Connection.java:452)
02-12 21:29:31.331: WARN/System.err(3291):     at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)
02-12 21:29:31.331: WARN/System.err(3291):     at java.sql.DriverManager.getConnection(DriverManager.java:191)
02-12 21:29:31.331: WARN/System.err(3291):     at java.sql.DriverManager.getConnection(DriverManager.java:226)
02-12 21:29:31.331: WARN/System.err(3291):     at com.example.tamilpage.SearchResults.onCreate(SearchResults.java:35)
02-12 21:29:31.342: WARN/System.err(3291):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-12 21:29:31.342: WARN/System.err(3291):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
02-12 21:29:31.342: WARN/System.err(3291):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
02-12 21:29:31.342: WARN/System.err(3291):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
02-12 21:29:31.342: WARN/System.err(3291):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
02-12 21:29:31.342: WARN/System.err(3291):     at android.os.Handler.dispatchMessage(Handler.java:99)
02-12 21:29:31.342: WARN/System.err(3291):     at android.os.Looper.loop(Looper.java:123)
02-12 21:29:31.342: WARN/System.err(3291):     at android.app.ActivityThread.main(ActivityThread.java:4627)
02-12 21:29:31.350: WARN/System.err(3291):     at java.lang.reflect.Method.invokeNative(Native Method)
02-12 21:29:31.350: WARN/System.err(3291):     at java.lang.reflect.Method.invoke(Method.java:521)
02-12 21:29:31.350: WARN/System.err(3291):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
02-12 21:29:31.350: WARN/System.err(3291):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
02-12 21:29:31.350: WARN/System.err(3291):     at dalvik.system.NativeStart.main(Native Method)
02-12 21:29:31.350: WARN/System.err(3291): ** END NESTED EXCEPTION **
02-12 21:29:31.361: WARN/System.err(3291):     at com.mysql.jdbc.Connection.createNewIO(Connection.java:1875)
02-12 21:29:31.361: WARN/System.err(3291):     at com.mysql.jdbc.Connection.<init>(Connection.java:452)
02-12 21:29:31.361: WARN/System.err(3291):     at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)
02-12 21:29:31.361: WARN/System.err(3291):     at java.sql.DriverManager.getConnection(DriverManager.java:191)
02-12 21:29:31.361: WARN/System.err(3291):     at java.sql.DriverManager.getConnection(DriverManager.java:226)
02-12 21:29:31.361: WARN/System.err(3291):     at com.example.tamilpage.SearchResults.onCreate(SearchResults.java:35)
02-12 21:29:31.361: WARN/System.err(3291):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-12 21:29:31.361: WARN/System.err(3291):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
02-12 21:29:31.371: WARN/System.err(3291):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
02-12 21:29:31.371: WARN/System.err(3291):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
02-12 21:29:31.371: WARN/System.err(3291):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
02-12 21:29:31.371: WARN/System.err(3291):     at android.os.Handler.dispatchMessage(Handler.java:99)
02-12 21:29:31.371: WARN/System.err(3291):     at android.os.Looper.loop(Looper.java:123)
02-12 21:29:31.371: WARN/System.err(3291):     at android.app.ActivityThread.main(ActivityThread.java:4627)
02-12 21:29:31.371: WARN/System.err(3291):     at java.lang.reflect.Method.invokeNative(Native Method)
02-12 21:29:31.371: WARN/System.err(3291):     at java.lang.reflect.Method.invoke(Method.java:521)
02-12 21:29:31.371: WARN/System.err(3291):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
02-12 21:29:31.381: WARN/System.err(3291):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
02-12 21:29:31.381: WARN/System.err(3291):     at dalvik.system.NativeStart.main(Native Method)
02-12 21:29:31.392: WARN/IInputConnectionWrapper(3291): showStatusIcon on inactive InputConnection


codice programma:
Codice (Java): [Seleziona]
package com.example.tamilpage;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

import android.app.Activity;
import android.os.Bundle;

import android.widget.TextView;


public class SearchResults extends Activity{

        private static final String url = "jdbc:mysql://vannitec.ipagemysql.com/";
        private static final String dbName = "learnphp_campo";
        private static final String userName = "......";
        private static final String passWord = ".....";
        private static final String driver = "com.mysql.jdbc.Driver";

        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.resultview);

                TextView myText = (TextView) findViewById(R.id.textView1);
                myText.setText("ok");
                System.out.println("ciao");
                Connection conn;

                try{
                        Class.forName(driver).newInstance();
                        System.out.println("ciao1");
                        conn = DriverManager.getConnection(url+dbName, userName, passWord);
                        System.out.println("ciao2");
                       
                        //Statement stmt = conn.createStatement();
                        //ResultSet rs = stmt.executeQuery("SELECT * FROM scouting");
                        System.out.println("ciao3");
                       
                        /*while (rs.next()){
                                System.out.println(rs.getString(2));
                        }*/

                        conn.close();
                }catch(Exception e){
                        e.printStackTrace();
                }



        }



}


ho provato a connettere dal php e riesco... non capisco perché cosi non riesco ad accedere.... :'(

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Connessione database
« Risposta #4 il: 12 Febbraio 2012, 23:19:29 CET »
0
Non è che il firewall o mysql stesso blocca accessi da host diversi da localhost?

Offline vannian

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Connessione database
« Risposta #5 il: 12 Febbraio 2012, 23:50:42 CET »
0
hm ho provato disattivare firewall e antivirus... ma non cambia niente...

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Connessione database
« Risposta #6 il: 13 Febbraio 2012, 09:07:46 CET »
0
Dubito che il tuo ISP abbia aperto mysql all'esterno...

Comunque, prova questo tool e vedi se riesci a connetterti :
MySQL ::  Download MySQL Workbench

Offline vannian

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Connessione database
« Risposta #7 il: 14 Febbraio 2012, 14:54:32 CET »
0
hm non funziona lo stesso...
ho cambiato... ho fatto una pagina php... e si connette alla pagina per ricercare... e funziona.
Grazie tutti