Zadejte hledaný výraz...

Android a MySQL connector

eduard.babka
verified
rating uzivatele
15. 10. 2012 12:52:44
Zdravím, obracím se na vás s dotazem. Píši narychlo jednu aplikaci a používám Java MySQL connector.
Zde je kousek kódu, pomocí kterého se připojím k databázi.
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection(url, user, password);
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("SELECT * from sales");
while(rs.next()){
Toast toast = Toast.makeText(this, rs.getString(2), Toast.LENGTH_LONG);
toast.show()
Pokud aplikaci spustím na mém telefonu s Android 2.2, je vše v pořádku a dostanu správný výsledek. Pokud ale úplně stejnou aplikaci spustím na mém tabletu Joyplus M78 s Android 4, tak vyhodí chybu - java.sql.sqlexception unable to connect to any hosts due to exception blablabla
Dlouho jsem hledal na internetu, ale vzhledem k povaze této chyby všude všem radí zkontrolovat cestu k serveru - tu já mám správnou a používám IP adresu - ne dns.
Pokud na telefonu vypnu wifi, vyhodí mi stejnou chybu jako tablet. Proto si myslím, že je chyba někde mezi aplikací a operačním systémem. Jako by se ani nepokoušel ten server najít a přijmout od něj data. V Manifestu mám uses povolení na NETWORK_STATE a INTERNET. Setkal se někdo s touto chybou? Budu rád za každou radu.
Java connector používám ve verzi 3.0.17. Zkoušel jsem i 5.0.8, ale ta mi nefungovala a zvětšovala výsledou aplikaci.
Případně bych mohl použít připojení pomocí PHP, MySQL a HttpRequest, ale tam si nejsem jistý, jak je to se zabezpečením, aby nemohl ten můj php script zavolat kdokoliv odkudkoliv..
Děkuji
15. 10. 2012 12:52:44
https://webtrh.cz/diskuse/android-a-mysql-connector#reply819863
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
15. 10. 2012 12:59:21
Nemáš náhodou, v době kdy aplikace funguje, zapnutý domácí internet (wifi) a když jedeš tablet, tak se připojuješ přes mobilní internet (obdobně když vypneš na telefonu wifi)?
Problém by mohl být, že máš povolený přístup do MySQL jen z domácího internetu, ale nikoliv z mobilního, který má jinou IP adresu.
15. 10. 2012 12:59:21
https://webtrh.cz/diskuse/android-a-mysql-connector#reply819862
eduard.babka
verified
rating uzivatele
15. 10. 2012 12:59:43
Pro upřesnění - url = "jdbc:mysql://192.168.1.33:3306/jmenodb";
---------- Příspěvek doplněn 15.10.2012 v 13:00 ----------
Napsal Bedříšek;856942
Nemáš náhodou, v době kdy aplikace funguje, zapnutý domácí internet (wifi) a když jedeš tablet, tak se připojuješ přes mobilní internet (obdobně když vypneš na telefonu wifi)?
Problém by mohl být, že máš povolený přístup do MySQL jen z domácího internetu, ale nikoliv z mobilního, který má jinou IP adresu.
Ne.. Připojuji se na počítač v místní nezabezpečené síti - jak z tabletu (ten je bez 3G, tak z telefonu, kde je 3G vypnutý)
15. 10. 2012 12:59:43
https://webtrh.cz/diskuse/android-a-mysql-connector#reply819861
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
15. 10. 2012 13:03:19
Napsal eduard.babka;856943
Pro upřesnění - url = "jdbc:mysql://192.168.1.33:3306/jmenodb";
---------- Příspěvek doplněn 15.10.2012 v 13:00 ----------
Ne.. Připojuji se na počítač v místní nezabezpečené síti - jak z tabletu (ten je bez 3G, tak z telefonu, kde je 3G vypnutý)
A není na MySQL povolen jen určitý rozsah lokálních IP adres?
Mimochodem, když na telefonu nejedeš přes mobilní internet a wifi je vypnutá, tak jak se chceš připojit na DB?
---------- Příspěvek doplněn 15.10.2012 v 13:05 ----------
Je na serveru 192.168.1.33 povolený ping, že bys z tabletu prověřil jestli vůbec tu IP adresu vidí.
15. 10. 2012 13:03:19
https://webtrh.cz/diskuse/android-a-mysql-connector#reply819860
eduard.babka
verified
rating uzivatele
15. 10. 2012 13:08:27
Pokud mám zapnutou wifi na telefonu, tak se samozřejmě připojím. Pokud jí vypnu, tak to hází stejnou hlášku a stejně rychle jako tablet. Proto bych vyloučil chybu v nastavení MySQL serveru.. Kde je tedy i pro povolené připojení nastaveno kdokoliv - %. Chybu bych hledal spíš v nastavení tabletu.
15. 10. 2012 13:08:27
https://webtrh.cz/diskuse/android-a-mysql-connector#reply819859
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
15. 10. 2012 13:10:49
tak zkus ping nebo telnet na tu ip 192.168.1.33, ať vyloučíš, že není krpa v tabletu
---------- Příspěvek doplněn 15.10.2012 v 13:11 ----------
nemáš třeba tablet v jiné podsíti nebo se špatnou maskou?
15. 10. 2012 13:10:49
https://webtrh.cz/diskuse/android-a-mysql-connector#reply819858
eduard.babka
verified
rating uzivatele
15. 10. 2012 13:11:41
Zkoušel jsem se na ten PC připojit přes www - na apache a to šlo v pohodě - jak z mobilu, tak tabletu.. :( To mi právě děsí.. Na http://192.168.1.33
15. 10. 2012 13:11:41
https://webtrh.cz/diskuse/android-a-mysql-connector#reply819857
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
15. 10. 2012 13:13:00
tak zkus
telnet 192.168.1.33:3306
a pak si zkontroluj nastavení iptables
15. 10. 2012 13:13:00
https://webtrh.cz/diskuse/android-a-mysql-connector#reply819856
eduard.babka
verified
rating uzivatele
15. 10. 2012 13:17:03
Napsal Bedříšek;856955
tak zkus
telnet 192.168.1.33:3306
a pak si zkontroluj nastavení iptables
Z toho tabletu? Projdu si o tom informace..
15. 10. 2012 13:17:03
https://webtrh.cz/diskuse/android-a-mysql-connector#reply819855
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
15. 10. 2012 13:20:00
jj. https://play.google.com/store/apps/details?id=koushikdutta.telnet&hl=cs
---------- Příspěvek doplněn 15.10.2012 v 13:20 ----------
https://play.google.com/store/apps/details?id=com.ulfdittmer.android.ping&hl=cs
---------- Příspěvek doplněn 15.10.2012 v 13:20 ----------
iptables na tom serveru 192.168.1.33 ;o)
15. 10. 2012 13:20:00
https://webtrh.cz/diskuse/android-a-mysql-connector#reply819854
eduard.babka
verified
rating uzivatele
15. 10. 2012 13:25:06
Napsal Bedříšek;856961
jj. https://play.google.com/store/apps/details?id=koushikdutta.telnet&hl=cs
---------- Příspěvek doplněn 15.10.2012 v 13:20 ----------
https://play.google.com/store/apps/details?id=com.ulfdittmer.android.ping&hl=cs
---------- Příspěvek doplněn 15.10.2012 v 13:20 ----------
iptables na tom serveru 192.168.1.33 ;o)
Díky, večer vyzkouším a napíši, jak jsem dopadl..
---------- Příspěvek doplněn 15.10.2012 v 17:57 ----------
Tak, server normálně pingá.. Na telnet 192.168.1.33:3306 se připojím jak z tabletu, tak z telefonu. Moje aplikace na telefonu normálně funguje a na tabletu nikoliv.. Jdu zkusit ještě jinou verzi connectoru..
---------- Příspěvek doplněn 15.10.2012 v 19:50 ----------
Tak, už nevím, co dál.. Vyzkoušel jsem vše.. Na nejnovější knihovnu to samé - akorát novější text chyby.. Na telefonu jede, na tabletu ne..
com.mysql.jdbc.exceptions.jdbc4.communicationsexception communications link failure
Obojí je to ve stejné síti, i jsem měnil adresy a stejně nic.. :( Telnet na server funguje z obou zařízení, ping také, www také..
---------- Příspěvek doplněn 15.10.2012 v 22:40 ----------
Také bez odpovědi..
http://stackoverflow.com/questions/10970918/postgresql-jdbc-connection-fails-on-android-4-0
15. 10. 2012 13:25:06
https://webtrh.cz/diskuse/android-a-mysql-connector#reply819853
Pro odpověď se přihlašte.
Přihlásit