С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
ManHunter
13 / 13 / 4
Регистрация: 16.05.2011
Сообщений: 152
Записей в блоге: 2
#1

Не подключается к серверу MySQL - Программирование Android

09.07.2013, 18:55. Просмотров 1170. Ответов 4
Метки нет (Все метки)

Здравствуйте. Много тем перечитал, даже нашёл работающий исходник.
Проблема только в том, что у меня почему-то не подключается к Mysql.

Вот пример ф-ции:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
    void connect() {
        try {
            Log.d("My Logs", "Запускаем поток");
            Thread t = new Thread(new Runnable() {
                public void run() {
                        Connection conn = null;
                        String userName = "user";
                        String password = "123456";
                        String url = "jdbc:mysql://10.0.2.2:3306/test";
                        try {
                            System.err.println("Подключаемся");
                            Class.forName("com.mysql.jdbc.Driver").newInstance();
                        } catch (InstantiationException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (IllegalAccessException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (ClassNotFoundException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                        try {
                            conn = DriverManager.getConnection(url, userName, password);
                            Log.i("MyLog", "Получилось");
                            Statement s = null;
                            s = conn.createStatement();
                            s.executeQuery("Select from users");
                            ResultSet rs = null;
                            rs = s.getResultSet();
                            while (rs.next()) {
                                int idVal = rs.getInt("id");
                                String nameVal = rs.getString("name");
                                String catVal = rs.getString("model");
                                System.err.println("res: "+catVal);
                            }
                            rs.close();
                            s.close();
                        } catch (SQLException e) {
                            System.err.println("Не получилось"); 
                            e.printStackTrace();
                        }
                        
                      }
                    });
                    t.start();
        } catch (Exception e) {
            e.printStackTrace();
            System.err.println("<censored>");
        }
    }
Проделываю через denwer.
Это -
Java
1
2
3
String userName = "user";
String password = "123456";
String url = "jdbc:mysql://10.0.2.2:3306/test";
логин, пароль и адрес:порт/бд.

Порт в php.ini 3306, в эмуляторе при переходе на 10.0.2.2 всё страница грузится.
База test создана. Пользователь тоже.

При запуске приложение не вылетает, доходит до:
conn = DriverManager.getConnection(url, userName, password);
и сразу же попадает в exception:
Java
1
2
3
4
} catch (SQLException e) {
    System.err.println("Не получилось"); 
    e.printStackTrace();
}
Драйвер Class.forName("com.mysql.jdbc.Driver").newInstance(); загружается.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.07.2013, 18:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не подключается к серверу MySQL (Программирование Android):

Не подключается к серверу через Socket - Программирование Android
Привет. Подключаюсь к серверу так: try { ShowMessage(&quot;try&quot;); //InetAddress ipAddress = InetAddress.getByName(HOST); //...

Не подключается к Mysql - Программирование Android
Доброго времени суток, столкнулся с такой проблемой. Я пишу программу и она должна подключаться к внешней БД. Я подключаю драйвер, он...

HttpPost и PHP. Не подключается к MySQL - Программирование Android
Есть у меня mysql сервер на localhost:88 с бд &quot;test&quot;, username &quot;root&quot; и таблицей &quot;example&quot;, которая содержит поля id и name. Мне нужно...

Не подключается к серверу - Телефония
Добрый день! Столкнулся с такой проблемой. Есть сервер с Elastix на хостинге. Вчера утром сервер с трудом открывался. Почти сутки от...

Не подключается к серверу - SQL Server
Всем привет!Возникла такая проблема пытаюсь подключится к серверу, вроде бы сделал все как написано в книжке,зарегистрировал,пытаюсь...

Клиент не подключается к серверу - C Linux
Здравствуйте, загнался такой темой, читая книгу Йона Снейдра и еще одну статью(), пишу свой чат на чистом Си, но запнулся практически с...

4
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
09.07.2013, 19:02 #2
StackTrace покажите
0
ManHunter
13 / 13 / 4
Регистрация: 16.05.2011
Сообщений: 152
Записей в блоге: 2
09.07.2013, 19:08  [ТС] #3
Вот:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
07-09 15:04:59.645: D/My Logs(1097): Запускаем поток
07-09 15:04:59.665: W/System.err(1097): Подключаемся
07-09 15:04:59.745: W/System.err(1097): Не получилось
07-09 15:04:59.745: W/System.err(1097): com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
07-09 15:04:59.755: W/System.err(1097): The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
07-09 15:04:59.755: W/System.err(1097):     at java.lang.reflect.Constructor.constructNative(Native Method)
07-09 15:04:59.765: W/System.err(1097):     at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
07-09 15:04:59.765: W/System.err(1097):     at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
07-09 15:04:59.765: W/System.err(1097):     at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1121)
07-09 15:04:59.765: W/System.err(1097):     at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:355)
07-09 15:04:59.765: W/System.err(1097):     at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2479)
07-09 15:04:59.765: W/System.err(1097):     at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2516)
07-09 15:04:59.775: W/System.err(1097):     at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2301)
07-09 15:04:59.785: W/System.err(1097):     at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834)
07-09 15:04:59.785: W/System.err(1097):     at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
07-09 15:04:59.785: W/System.err(1097):     at java.lang.reflect.Constructor.constructNative(Native Method)
07-09 15:04:59.785: W/System.err(1097):     at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
07-09 15:04:59.805: W/System.err(1097):     at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
07-09 15:04:59.805: W/System.err(1097):     at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)
07-09 15:04:59.805: W/System.err(1097):     at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:317)
07-09 15:04:59.825: W/System.err(1097):     at java.sql.DriverManager.getConnection(DriverManager.java:175)
07-09 15:04:59.825: W/System.err(1097):     at java.sql.DriverManager.getConnection(DriverManager.java:209)
07-09 15:04:59.825: W/System.err(1097):     at ru.test.mysqltest.MainActivity$1.run(MainActivity.java:64)
07-09 15:04:59.825: W/System.err(1097):     at java.lang.Thread.run(Thread.java:856)
07-09 15:04:59.825: W/System.err(1097): Caused by: java.net.SocketException: socket failed: EACCES (Permission denied)
07-09 15:04:59.845: W/System.err(1097):     at libcore.io.IoBridge.socket(IoBridge.java:573)
07-09 15:04:59.845: W/System.err(1097):     at java.net.PlainSocketImpl.create(PlainSocketImpl.java:201)
07-09 15:04:59.845: W/System.err(1097):     at java.net.Socket.startupSocket(Socket.java:559)
07-09 15:04:59.845: W/System.err(1097):     at java.net.Socket.<init>(Socket.java:225)
07-09 15:04:59.845: W/System.err(1097):     at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:259)
07-09 15:04:59.845: W/System.err(1097):     at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:305)
07-09 15:04:59.855: W/System.err(1097):     ... 14 more
07-09 15:04:59.855: W/System.err(1097): Caused by: libcore.io.ErrnoException: socket failed: EACCES (Permission denied)
07-09 15:04:59.855: W/System.err(1097):     at libcore.io.Posix.socket(Native Method)
07-09 15:04:59.866: W/System.err(1097):     at libcore.io.BlockGuardOs.socket(BlockGuardOs.java:181)
07-09 15:04:59.866: W/System.err(1097):     at libcore.io.IoBridge.socket(IoBridge.java:558)
07-09 15:04:59.866: W/System.err(1097):     ... 19 more
как я понял у меня проблема с адресом, но вроде бы правильно всё...
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
09.07.2013, 20:09 #4
XML
1
<uses-permission android:name="android.permission.INTERNET"/>
в манифесте написали?

Явно же написано
Caused by: java.net.SocketException: socket failed: EACCES (Permission denied)
Не хватает прав. Поправьте манифест
0
ManHunter
13 / 13 / 4
Регистрация: 16.05.2011
Сообщений: 152
Записей в блоге: 2
09.07.2013, 20:16  [ТС] #5
YuraAAA, да, верно. Странно то, что автор выложил якобы исправленный код (проект), так я поэтому и не стал проверять.
Кроме того в коде в запросе SELECT не хватает названий столбцов которые выбираем в таблице.
Теперь всё работает.
0
09.07.2013, 20:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.07.2013, 20:16
Привет! Вот еще темы с ответами:

Не подключается клиент к серверу - C#
Чую, что ошибка тупая, но только начал разбираться с этим всем) Клиент: var newClient = new TcpClient(); ...

Клиент не подключается к серверу - C#
Здравствуйте! Извините пожалуйста если что не так напишу. Есть сервер с базой данных, есть клиент но ни в какую этот клиент не...

Не подключается к серверу SQLEXPRESS - SQL Server
Здравствуйте. Пишу клиент для БД MSSQL на C#. Возникла проблема с подключением к серверу, при попытке подключение выбивает ошибку: &quot;При...

Не подключается по FTP к серверу - Хостинг
Доброго времени суток, Возникла такая проблема: не подключается по ftp к серверу. Ошибка: Превышено время ожидания соединения ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.