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

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

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

Android + Firebird - Android

15.07.2013, 08:18. Просмотров 1931. Ответов 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 Android
Android android:theme="@android:style/Theme.Dialog"
Android и С++ Android
С++ и android Android
Android Ошибка "Activity class {com.Android.System/com.Android.System.MainActivity} does not exist"
Android C# and Android
Android Android L
Android Android
Android Android
Android с 0 Android
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] Android
Как подключиться с базе данных FireBird из Android Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.07.2013, 10:20     Android + Firebird #2
как jar подключали?
konrads
2 / 2 / 0
Регистрация: 05.03.2013
Сообщений: 42
16.07.2013, 08:50  [ТС]     Android + Firebird #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, а может его как нибудь нужно тоже регистрировать?
Yandex
Объявления
16.07.2013, 08:50     Android + Firebird
Ответ Создать тему
Опции темы

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