作者: 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://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1446486473.A.B50.html
1F:→ qrtt1: 网路存取权限有给吗? 11/03 08:47
2F:→ forkncp: 网路存取权有给:android.permission.INTERNET 11/03 09:56
3F:→ qrtt1: server 防火墙有开吗?mysql server 有授权你目前的 ip 吗 11/03 13:38
4F:→ forkncp: 一样的设定,透过一般java project是正常的,所以应该不 11/03 13:44
5F:→ forkncp: 是防火墙/ip的问题QQ 11/03 13:45
6F:→ 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
7F:→ xling5216: 我刚好有些相关的东西(虽然也是参考别人的) 11/04 14:27
8F:→ xling5216: 有需要的话站内信:) 11/04 14:28
9F:→ x049: 连Socket范例:h ttp://ppt.cc/E2wCZ 11/05 00:01
10F:推 xling5216: 已提供给你了 11/05 00:32
11F:→ forkncp: 感谢各位大大帮忙 T_T 11/05 10:04
12F:推 kiwatami: 建议你还是不要直接连 11/05 14:25
13F:→ kiwatami: 开一个java专案 学一下hiberbate等framework 11/05 14:25
14F:→ kiwatami: 应该会比你用android学连资料库还快 11/05 14:25
15F:推 abccbaandy: 推hibernate是在害人吗...光是环境要架起来就不容易了 11/05 19:49
16F:→ x049: 可以使用HttpClient或HttpURLConnection连php存取资料库吧 11/05 19:50
17F:→ x049: 范例在这:h ttp://ppt.cc/QTJdx 11/05 19:52
18F:→ x049: 物件都写好了,不过对应的php可能就要自己搞了 11/05 19:53
19F:→ forkncp: webservice的方式我会先记录下来,之後应该就会用到了! 11/07 01:54
20F:→ forkncp: 小弟不才,最後是发现...因为我直接run在UI thread下造成 11/07 01:54
21F:→ forkncp: 的错误,也算是解决了吧,谢谢各位!!! 11/07 01:55
22F:推 kiwatami: 第一次听到推framework是在害人的说法 11/08 11:57
23F:→ kiwatami: 自己建连线还得控制连线数还有连线的开关 11/08 11:57
24F:→ kiwatami: transaction也很麻烦 framework包好好的 11/08 11:58
25F:→ kiwatami: 虽然自己用可以学到很多基础知识 但要快还是用framework 11/08 11:59
26F:→ kiwatami: 网路上教学很多 不加Spring等其他的framework 11/08 11:59
27F:→ kiwatami: 建起来应该不难 11/08 12:00
28F:→ kiwatami: 说推framework是在害人 那hibernate的团队存在意义是? 11/08 12:01
29F:→ kiwatami: DB开放外部IP连线才更可怕吧? 11/08 12:02