看板 AndroidDev 關於我們 聯絡資訊
作者: forkncp (折口) 看板: AndroidDev 標題: [問題] JDBC存取Mysql資料庫異常 時間: Tue Nov 3 01:47:50 2015 大家好 我知道一定會有人建議不要直接存取DB 礙於某些因素,還是決定直接存取DB...(技術、時間、練習...等) 本來想說因該可以很順利的完成,可是居然搞到現在 Connection還是建不起來...冏 權限: <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <user-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 程式: //沒有很完整,但就大概這樣... public void onCreate(Bundle savedInstanceState) { final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; final String DB_URL = "jdbc:mysql://125.227.xxx.xxx:port/schema"; try{ Class.forName(JDBC_DRIVER); /**********************下面這行就報錯了*************************/ conn = DriverManager.getConnection(DB_URL, USER, PWD); stmt = conn.createStatement(); rs = stmt.executeQuery(sql); }catch(Exception e){ e.printStackTrace(); } 錯誤: 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. java.net.SocketException: socket failed: EACCES (Permission denied) 抱歉對於Android開發還是個超新手,實在不知道問題出在哪QQ google半天也找不到想要的答案...只好上來求助 若還需要什麼資訊煩請推文告知,謝謝!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.136.198.156 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1446486473.A.B50.html
qrtt1: 網路存取權限有給嗎? 11/03 08:47
forkncp: 網路存取權有給:android.permission.INTERNET 11/03 09:56
qrtt1: server 防火牆有開嗎?mysql server 有授權你目前的 ip 嗎 11/03 13:38
forkncp: 一樣的設定,透過一般java project是正常的,所以應該不 11/03 13:44
forkncp: 是防火牆/ip的問題QQ 11/03 13:45
qrtt1: 你用 Socket 連看看有沒有回啊,看 message 是什麼都沒回 11/03 14:15
不太懂Socket怎麼連...我再研究一下 另外如果錯誤代碼是這樣,可是"DriverManager.getConnection"所帶的參數是正確的 那還有什麼可能嗎? com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. ※ 編輯: forkncp (125.227.147.229), 11/03/2015 16:00:05
xling5216: 我剛好有些相關的東西(雖然也是參考別人的) 11/04 14:27
xling5216: 有需要的話站內信:) 11/04 14:28
x049: 連Socket範例:h ttp://ppt.cc/E2wCZ 11/05 00:01
xling5216: 已提供給你了 11/05 00:32
forkncp: 感謝各位大大幫忙 T_T 11/05 10:04
kiwatami: 建議你還是不要直接連 11/05 14:25
kiwatami: 開一個java專案 學一下hiberbate等framework 11/05 14:25
kiwatami: 應該會比你用android學連資料庫還快 11/05 14:25
abccbaandy: 推hibernate是在害人嗎...光是環境要架起來就不容易了 11/05 19:49
x049: 可以使用HttpClient或HttpURLConnection連php存取資料庫吧 11/05 19:50
x049: 範例在這:h ttp://ppt.cc/QTJdx 11/05 19:52
x049: 物件都寫好了,不過對應的php可能就要自己搞了 11/05 19:53
forkncp: webservice的方式我會先記錄下來,之後應該就會用到了! 11/07 01:54
forkncp: 小弟不才,最後是發現...因為我直接run在UI thread下造成 11/07 01:54
forkncp: 的錯誤,也算是解決了吧,謝謝各位!!! 11/07 01:55
kiwatami: 第一次聽到推framework是在害人的說法 11/08 11:57
kiwatami: 自己建連線還得控制連線數還有連線的開關 11/08 11:57
kiwatami: transaction也很麻煩 framework包好好的 11/08 11:58
kiwatami: 雖然自己用可以學到很多基礎知識 但要快還是用framework 11/08 11:59
kiwatami: 網路上教學很多 不加Spring等其他的framework 11/08 11:59
kiwatami: 建起來應該不難 11/08 12:00
kiwatami: 說推framework是在害人 那hibernate的團隊存在意義是? 11/08 12:01
kiwatami: DB開放外部IP連線才更可怕吧? 11/08 12:02