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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 5.00
konrads
2 / 2 / 0
Регистрация: 05.03.2013
Сообщений: 49
#1

Android + Firebird - Программирование Android

15.07.2013, 08:18. Просмотров 2184. Ответов 2
Метки нет (Все метки)

Всем привет !

Пытаюсь подключиться к БД Firebird из программки под Android.
Здесь - http://www.firebirdnews.org/?p=8620 пишут, что всё должно работать и примерчик имеется для NB.
Эмулятор андроида для NB не смог найти. Попробывал тоже самое в Eclipse, jar файл драйвера взял из примера.

Вот кусок кода где происходит обращение к базе:

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
    public void myClick(View v){
            TextView tvOut = (TextView) findViewById(R.id.textView1);
            Button btn = (Button) findViewById(v.getId());
        
            tvOut.setText("Кот 1");
            Toast toast = Toast.makeText(getApplicationContext(), 
                    "Кормим кота 1", Toast.LENGTH_SHORT); 
            toast.show();   
            
            try {
                Class.forName("org.firebirdsql.jdbc.FBDriver");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
                toast = Toast.makeText(getApplicationContext(), 
                        "Котяра издох 1", Toast.LENGTH_SHORT); 
                toast.show();             
            }   
        
            tvOut.setText("Кот 2");
            toast = Toast.makeText(getApplicationContext(), 
                    "Кормим кота 2", Toast.LENGTH_SHORT); 
            toast.show();   
                    
//          String sCon = "jdbc:firebirdsql:192.168.0.97/3050:c:\\bases\\basereal.fdb";
            String sCon = "jdbc:firebirdsql:192.168.0.97/3050:figa";
 
 
            try {
                Connection aConnection = DriverManager.getConnection(sCon, "SYSDBA", "masterkey");
            } catch (SQLException e) {
                e.printStackTrace();
                toast = Toast.makeText(getApplicationContext(), 
                        "Котяра издох 2", Toast.LENGTH_SHORT); 
                toast.show();             
            }
            
 
    }
Ошибка происходит при выполнении строки Connection aConnection = DriverManager.getConnection(sCon, "SYSDBA", "masterkey")
Логи:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
07-12 05:05:35.873: W/System.err(1089): java.sql.SQLException: No suitable driver
07-12 05:05:35.913: W/System.err(1089): at java.sql.DriverManager.getConnection(DriverManager.java:182)
07-12 05:05:35.913: W/System.err(1089): at java.sql.DriverManager.getConnection(DriverManager.java:209)
07-12 05:05:35.932: W/System.err(1089): at com.example.fbtest.MainActivity.myClick(MainActivity.java:87)
07-12 05:05:35.932: W/System.err(1089): at java.lang.reflect.Method.invokeNative(Native Method)
07-12 05:05:35.964: W/System.err(1089): at java.lang.reflect.Method.invoke(Method.java:511)
07-12 05:05:35.964: W/System.err(1089): at android.view.View$1.onClick(View.java:3594)
07-12 05:05:35.964: W/System.err(1089): at android.view.View.performClick(View.java:4204)
07-12 05:05:35.964: W/System.err(1089): at android.view.View$PerformClick.run(View.java:17355)
07-12 05:05:35.992: W/System.err(1089): at android.os.Handler.handleCallback(Handler.java:725)
07-12 05:05:36.003: W/System.err(1089): at android.os.Handler.dispatchMessage(Handler.java:92)
07-12 05:05:36.012: W/System.err(1089): at android.os.Looper.loop(Looper.java:137)
07-12 05:05:36.012: W/System.err(1089): at android.app.ActivityThread.main(ActivityThread.java:5041)
07-12 05:05:36.022: W/System.err(1089): at java.lang.reflect.Method.invokeNative(Native Method)
07-12 05:05:36.033: W/System.err(1089): at java.lang.reflect.Method.invoke(Method.java:511)
07-12 05:05:36.052: W/System.err(1089): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
07-12 05:05:36.052: W/System.err(1089): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
07-12 05:05:36.052: W/System.err(1089): at dalvik.system.NativeStart.main(Native Method)
Тоже самое в Java - работает отлично, а для андроид - какая то засада прямо, и непонятно что делать.
Подскажите знающие люди, в какую сторону гребсти то?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2013, 08:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Android + Firebird (Программирование Android):

Как подключиться с базе данных FireBird из Android - Программирование Android
Всем привет, ребят кто нить сталкивался с такой задачей?. Смысл в том, что есть база данных Firebird .FBD, необходимо написать приложение...

Откуда берутся атрибуты android:layout_width и android:layout_height в элементе LinearLayout? - Программирование Android
Недавно начал изучать Android API, а сегодня более менее разобрал основы синтакиса XML. Затем стал разбирать следующий пример: ...

Android studio, как запускать программу сразу на android смартфоне подключенному к usb? - Программирование Android
android studio, как запускать программу сразу на android смартфоне подключенному к usb?

Ошибка: Caused by Android java.lang.ClassCastException: android.app.Application cannot be cast - Программирование Android
Здравствуйте. Очень нужен ваш совет. При запуске приложения появляется ошибка: Caused by: java.lang.ClassCastException:...

Android NDK. Как пользоваться? Когда стоит использовать его вместо Android SDK? - Программирование Android
Можно ли писать в нем готовые приложения Android?

Как приложение Android написать на С++ в Android NDK, чтоб получить *.apk? Нужен мануал - Программирование Android
Уже не в первый раз задаю вопрос. Молчание. В лучшем случае - "RTFM" и точка. Так вот, официального мануала, где есть ответ на...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.07.2013, 10:20 #2
как jar подключали?
konrads
2 / 2 / 0
Регистрация: 05.03.2013
Сообщений: 49
16.07.2013, 08:50  [ТС] #3
Этот вопрос изучил и опробовал в разных вариантах.
Для работы в Java проекте, достаточно в свойстве проекта Java Build Path добавить jar-файл драйвера и всё будет работать.
Для андроида такой номер не проходит. Если сделать так - ошибка появляется уже на строчке:
Class.forName("org.firebirdsql.jdbc.FBDriver")

Здесь всё проще, кидаем jar в каталог libs и заново открываем проект. Библиотека драйвера автоматом окажется в "Android Private Libraries".

Это всё что я смог проанализировать самостоятельно, дальше - тупик.

Добавлено через 21 час 34 минуты
Есть у меня такая мысль - может порт 3050 в андроиде по умолчанию закрыт? Если да, то как его открыть?

Добавлено через 42 минуты
Ещё один вопрос. Вместе с jar файлом имеется каталог armeabi c двумя файлами:
libgnustl_shared.so
libjaybirdJniLibrary.so
Я этот каталог тоже тупо закидываю в libs, а может его как нибудь нужно тоже регистрировать?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.07.2013, 08:50
Привет! Вот еще темы с ответами:

Android.support.v4.app.FragmentActivity не работает в Android Studio - Программирование Android
объясните пожалуйста,как в андроид студио добавить вышеуказанную библиотеку,чтобы работало у меня вот это Активити package...

Выбор мощного android смартфона до 10 рублей, для тестирования проектов Android Studio, что посоветуете? - Программирование Android
Какую фирму посоветуете?

Запуск игры mr.Nom через Android Studio (по книге марио цехнер программирование игр под android) - Программирование Android
Привет всем! Для тех кто читал книгу - в конце 6ой главы мы закончили писать код игры. В книге написано что - игра готова. Но в самих...

OpenGL на Android 4.4 и Android 5.0 - нет текстур - Программирование Android
Всем доброго дня. Пишу 2D игру с использование OpneGL. На устройстве с версией Android 4.4.2 (HTC 626) все текстуры на месте, все...


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

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

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