Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
Tedorius
7 / 7 / 0
Регистрация: 12.06.2012
Сообщений: 59
#1

java.sql.SQLException: No suitable driver - Программирование Android

03.05.2013, 13:32. Просмотров 1822. Ответов 16
Метки нет (Все метки)

Не подключается к БД... расскажите пожалуйста как сделать правильно.

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
package ua.ааа.primer;
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.content.pm.ActivityInfo;
import android.view.WindowManager;
 
 
public class MainActivity extends Activity {
    
    
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_main);
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    ////////////////////////////////////////////////////////
    public void onClick(final View v) 
    {
         new Thread(new Runnable() {
                public void run() {
                     Log.e("My Logs", "Запускаем поток");
                /*  
        switch (v.getId()) 
        {
            case R.id.button1:
                Intent intent = new Intent(MainActivity.this, Main_class.class);
                startActivity(intent);
                Log.e("My Logs", "Перешли на новый экран!");
                break;
        }*/
                    /////////////////////////////////////////////////////////////////////////////
                    try {
                      Log.e("My Logs", "Подключаем драйвер");
                      Class.forName("com.mysql.jdbc.Driver").newInstance();
                    
                      Log.e("My Logs", "Подключили драйвер +");                   
                    } catch (InstantiationException e) {
                      Log.e("My Logs", "не подключили -");
                      e.printStackTrace();
                    } catch (IllegalAccessException e) { 
                      Log.e("My Logs", "Не подключили, правов маловато");
                      e.printStackTrace();
                    } catch (ClassNotFoundException e) {
                      Log.e("My Logs", "Не подключили класс не найден");
                      e.printStackTrace();
                    }
                
                try {
                    String query = "SELECT * FROM products WHERE id = 1";
                    
                    Connection conn = null;
                    String userName = "android";
                    String password = "android";
                    String url = "jdbc:mysql:localhost:1433/android_db";
                    Log.e("My Logs", "Подключаемся к базе"); 
                    conn = DriverManager.getConnection(url, userName, password);
                    Log.e("My Logs", "Подключилось +");
                    Statement s = null;
                    s = conn.createStatement();
                    s.executeQuery(query);
                    ResultSet rs = null;
                    rs = s.getResultSet();
                    while (rs.next()) {
                        }
                      rs.close();
                      s.close();
                      conn.close();
                }
                
                catch (SQLException e) {
                      Log.e("My Logs", "Не получилось -");
                      e.printStackTrace();
                    }
                    
                }
        }).start();
    
        
        }
 
}
classpath
XML
1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="src" path="gen"/>
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
    <classpathentry kind="lib" path="E:/mysql-connector-java-5.0.8-bin.jar"/>
    <classpathentry kind="output" path="bin/classes"/>
</classpath>
Log
05-03 12:26:27.441: E/My Logs(27037): Запускаем поток
05-03 12:26:27.442: E/My Logs(27037): Подключаем драйвер
05-03 12:26:27.444: E/My Logs(27037): Подключили драйвер +
05-03 12:26:27.444: E/My Logs(27037): Подключаемся к базе
05-03 12:26:27.448: E/My Logs(27037): Не получилось -
05-03 12:26:27.450: W/System.err(27037): java.sql.SQLException: No suitable driver
05-03 12:26:27.451: W/System.err(27037): at java.sql.DriverManager.getConnection(DriverManager.java:182)
05-03 12:26:27.452: W/System.err(27037): at java.sql.DriverManager.getConnection(DriverManager.java:209)
05-03 12:26:27.452: W/System.err(27037): at ua.Sobolev.diplom.MainActivity$1.run(MainActivity.java:75)
05-03 12:26:27.452: W/System.err(27037): at java.lang.Thread.run(Thread.java:856)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2013, 13:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос java.sql.SQLException: No suitable driver (Программирование Android):

The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) enc - Программирование Android
При попытке подключение к SQL возникла ошибка:The driver could not establish a secure connection to SQL Server by using Secure Sockets...

Подключение java к базе данных sql 2008 r2 - Программирование Android
Всем доброго времени суток.Нужна помощь в подключении java с sql , через интернет ,как это сделать и настроить . Если можно подскажите...

Cause: java.sql.SQLException: Переполнение числа - Java
Столкнулся с непонятной пока для меня проблемой: 1. поле в базе (Oracle) - n_irt - NUMBER(10) 2. в файле маппиннга данное поле...

java.sql.SQLException: закрытая команда - Java БД
День добрый! Цепляю со стороны Java процедуру Oracle, дергаю... Иногда (не каждый раз) выскакивает ошибка - 'java.sql.SQLException:...

java.sql.SQLException: No ResultSet was produced - Java БД
При выполнение инсерта вылитает ошибка. Но данные в бд обновляется а в Jtable нет. Вот стек ошибки java.sql.SQLException: No ResultSet...

MySQL Вылетает ошибка java.sql.SQLException: Column 'id' not found - Java БД
При попытке получения данных из MySQl вылетает ошибка java.sql.SQLException: Column 'id' not found. Стек: Exception in thread &quot;main&quot;...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
03.05.2013, 15:23 #2
ну, во-первых чтобы подключить jar к андроид проекту нужно просто скопировать его в папку libs. как так получилось что он у вас в корневой директории диска Е?
0
Tedorius
7 / 7 / 0
Регистрация: 12.06.2012
Сообщений: 59
03.05.2013, 15:33  [ТС] #3
V0v1k, jar находится в libs, но само по себе это результата не дает.
0
YuraAAA
1574 / 1316 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
03.05.2013, 15:37 #4
Правой клавишей по jar и add to build path?
0
Tedorius
7 / 7 / 0
Регистрация: 12.06.2012
Сообщений: 59
03.05.2013, 15:40  [ТС] #5
YuraAAA, результат не изменился

Добавлено через 35 секунд
уже было добавлено
0
Tedorius
7 / 7 / 0
Регистрация: 12.06.2012
Сообщений: 59
03.05.2013, 17:09  [ТС] #6
Т.е. jdbc добавлен, но ошибка java.sql.SQLException: No suitable driver вылетает...что не так?
0
Миниатюры
java.sql.SQLException: No suitable driver  
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.05.2013, 13:21 #7
сделайте клин-билд, скачайте свежую версию драйвера. не знаю что еще посоветовать.

Добавлено через 1 минуту
если добавили через Add Jar - удалите.

Добавлено через 4 минуты
здесь были похожие темы и некоторые выкладывали свои проекты, найдите их и используйте как пример.
1
Tedorius
7 / 7 / 0
Регистрация: 12.06.2012
Сообщений: 59
04.05.2013, 15:05  [ТС] #8
Создал с нуля проект, скачал последние версии. Логи:
Код
05-04 13:52:49.162: E/My Logs(21462): Запускаем поток
05-04 13:52:49.162: E/My Logs(21462): Подключаем драйвер
05-04 13:52:49.167: E/My Logs(21462): Подключили драйвер +
05-04 13:52:49.167: E/My Logs(21462): Подключаемся к базе
05-04 13:52:49.316: W/dalvikvm(21462): VFY: unable to find class referenced in signature (Ljavax/naming/Reference;)
05-04 13:52:49.316: W/dalvikvm(21462): VFY: unable to resolve virtual method 11701: Ljavax/naming/Reference;.get (Ljava/lang/String;)Ljavax/naming/RefAddr;
05-04 13:52:49.316: W/dalvikvm(21462): VFY: unable to find class referenced in signature (Ljavax/naming/Reference;)
05-04 13:52:49.316: E/dalvikvm(21462): Could not find class 'javax.naming.StringRefAddr', referenced from method com.mysql.jdbc.ConnectionPropertiesImpl$ConnectionProperty.storeTo
05-04 13:52:49.316: W/dalvikvm(21462): VFY: unable to resolve new-instance 973 (Ljavax/naming/StringRefAddr;) in Lcom/mysql/jdbc/ConnectionPropertiesImpl$ConnectionProperty;
05-04 13:52:49.393: W/dalvikvm(21462): VFY: unable to resolve static method 11040: Ljava/lang/management/ManagementFactory;.getThreadMXBean ()Ljava/lang/management/ThreadMXBean;
05-04 13:52:49.456: E/My Logs(21462): Не получилось -
05-04 13:52:49.458: W/System.err(21462): com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
05-04 13:52:49.458: W/System.err(21462): The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
05-04 13:52:49.459: W/System.err(21462): 	at java.lang.reflect.Constructor.constructNative(Native Method)
05-04 13:52:49.460: W/System.err(21462): 	at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
05-04 13:52:49.460: W/System.err(21462): 	at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
05-04 13:52:49.461: W/System.err(21462): 	at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1121)
05-04 13:52:49.461: W/System.err(21462): 	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:357)
05-04 13:52:49.461: W/System.err(21462): 	at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2479)
05-04 13:52:49.462: W/System.err(21462): 	at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2516)
05-04 13:52:49.462: W/System.err(21462): 	at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2301)
05-04 13:52:49.462: W/System.err(21462): 	at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834)
05-04 13:52:49.463: W/System.err(21462): 	at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
05-04 13:52:49.463: W/System.err(21462): 	at java.lang.reflect.Constructor.constructNative(Native Method)
05-04 13:52:49.464: W/System.err(21462): 	at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
05-04 13:52:49.464: W/System.err(21462): 	at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
05-04 13:52:49.465: W/System.err(21462): 	at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)
05-04 13:52:49.465: W/System.err(21462): 	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)
05-04 13:52:49.466: W/System.err(21462): 	at java.sql.DriverManager.getConnection(DriverManager.java:175)
05-04 13:52:49.467: W/System.err(21462): 	at java.sql.DriverManager.getConnection(DriverManager.java:209)
05-04 13:52:49.467: W/System.err(21462): 	at ua.example.mysql.MainActivity$1.run(MainActivity.java:63)
05-04 13:52:49.467: W/System.err(21462): 	at java.lang.Thread.run(Thread.java:856)
05-04 13:52:49.468: W/System.err(21462): Caused by: java.net.ConnectException: failed to connect to localhost/127.0.0.1 (port 3306) after 90000ms: isConnected failed: ECONNREFUSED (Connection refused)
05-04 13:52:49.469: W/System.err(21462): 	at libcore.io.IoBridge.isConnected(IoBridge.java:249)
05-04 13:52:49.469: W/System.err(21462): 	at libcore.io.IoBridge.connectErrno(IoBridge.java:181)
05-04 13:52:49.470: W/System.err(21462): 	at libcore.io.IoBridge.connect(IoBridge.java:112)
05-04 13:52:49.470: W/System.err(21462): 	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
05-04 13:52:49.471: W/System.err(21462): 	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
05-04 13:52:49.471: W/System.err(21462): 	at java.net.Socket.startupSocket(Socket.java:573)
05-04 13:52:49.471: W/System.err(21462): 	at java.net.Socket.<init>(Socket.java:226)
05-04 13:52:49.472: W/System.err(21462): 	at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:259)
05-04 13:52:49.472: W/System.err(21462): 	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:307)
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.05.2013, 15:28 #9
ошибка конекшена, или линк неправильный, или сервер отказывает в конекшене.
0
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
08.05.2013, 21:02 #10
Что-то я не понял под Android MySQL сервер появился? Куда ТС пытается приконнектится?
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
08.05.2013, 22:02 #11
Цитата Сообщение от c4sp3r Посмотреть сообщение
Куда ТС пытается приконнектится?
к базе на сервере.
0
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
08.05.2013, 22:11 #12
Цитата Сообщение от V0v1k Посмотреть сообщение
к базе на сервере.
Java
1
String url = "jdbc:mysql:localhost:1433/android_db";
?
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
08.05.2013, 22:14 #13
кстати да, если сервер на вашем компе, то вроде нужно по айпишке конектиться а не localhost.

Добавлено через 1 минуту
вот похожая тема, и человек выложил свой проект, может поможет
Работа с MySQL
0
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
08.05.2013, 22:24 #14
Цитата Сообщение от V0v1k Посмотреть сообщение
если сервер на вашем компе, то вроде нужно по айпишке конектиться а не localhost.
Можно и доменное имя использовать а localhost в данном случае эмулятор или само устройство и мои телепатические способности как раз подсказывают мне что ТС пытается приконектится к MySQL серверу который якобы установлен на его эмуляторе или устройстве.
1
Tedorius
7 / 7 / 0
Регистрация: 12.06.2012
Сообщений: 59
09.05.2013, 11:07  [ТС] #15
c4sp3r, Тема для меня уже не актуальна, но скажу как я только не пробовал...и доменное имя и айпишник, и порты проверял и тд. - не получилось.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2013, 11:07
Привет! Вот еще темы с ответами:

java.sql.SQLException: ORA-00020: maximum number of processes exceeded - Oracle
Kak borotsja s etoj oshibochkoj, ne podskazhete?

java.sql.SQLException: ORA-03115: unsupported network datatype or representation - Java БД
Добрый день всем! Функция Oracle возвращает результат в виде PIPELINED: FUNCTION something_get ( in_param1 INTEGER, ...

Ошибка No suitable driver - Java БД
JBuilder9, IE5.0 Простой апплет, работающий с базой данных Oracle В в веб браузере JBuilder-a РАБОТАЕТ, а вызванный из обычного...

Не находит подходящего драйвера (no suitable driver) - Java БД
При подключении к ORACLE из программы на Java выдает ошибку: no suitable driver. Использую NetBeans IDE 3.5.1. В среде IDE...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.05.2013, 11:07
Ответ Создать тему
Опции темы

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