Форум программистов, компьютерный форум, киберфорум
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
1 / 1 / 1
Регистрация: 26.09.2013
Сообщений: 19

Ошибка при подключении к MS SQL Server 2005

13.08.2014, 22:04. Показов 1709. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Программа вылетает, подскажите пожалуйста куда копать?

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
public void bLogin_Click(View v) throws SQLException
    {
        Toast.makeText(this, "Подключение...", Toast.LENGTH_LONG).show();
        DriverManager.registerDriver(new net.sourceforge.jtds.jdbc.Driver());
        Connection con = null;
        Statement st = null;
        ResultSet rs = null;
        try
        {
            con = DriverManager.getConnection("jdbc:jtds:sqlserver://"+conSettings.getString(APP_PREFERENCES_SERVER, "").toString()+":1433/"+conSettings.getString(APP_PREFERENCES_DATABASE, "").toString()+";", conSettings.getString(APP_PREFERENCES_LOGIN, "").toString(), conSettings.getString(APP_PREFERENCES_PASSWORD, "").toString());
             if (con != null)
             {
                 st = con.createStatement();
                 rs = st.executeQuery("SELECT ID FROM tbl_Users WHERE Login="+tbLogin.getText().toString()+"and Password="+tbPassword.getText().toString());
                 if (rs != null)
                 {
                     if (rs.getMetaData().getColumnCount() > 0)
                     {
                        Toast.makeText(this, "Подключение установлено!", Toast.LENGTH_SHORT).show();
                        //Открываем главное меню
                        Intent intent = new Intent(this, MenuActivity.class);
                        startActivity(intent);
                     }
                     else Toast.makeText(this, "Неправильный логин или пароль!", Toast.LENGTH_SHORT).show();
                 }
             }
        }
        catch (SQLException e) { Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show(); }
        finally {
            try {
               if (rs != null) rs.close();
               if (st != null) st.close();
               if (con != null) con.close();
            }
            catch (SQLException e) { Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show(); }
        }
    }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.08.2014, 22:04
Ответы с готовыми решениями:

Выставление кодировки при подключении к sql server 2005.
Здравствуйте. Пишу сайт на WebForms (Asp.net). Подключаюсь к sql server 2005 при помощи строки «Data Source=.\SQLExpress;Integrated...

SQL Server 2005 ошибка при Sql авторизации
Добрый день! Ошибка при попытке sql авторизаци: Login failed for user 'ADMvitalya'. The user is not associated with a trusted SQL...

Ошибка при установке SQL Server 2005 Express Edition
Привет знатоки ПК, а в частности знатоки W2003 и SQL. На сервере №1 установил W2003 SP2, на нем создал домен. Потом создал пользователя...

9
185 / 160 / 49
Регистрация: 30.07.2013
Сообщений: 508
13.08.2014, 22:37
а эксепшен та какой?
0
1 / 1 / 1
Регистрация: 26.09.2013
Сообщений: 19
14.08.2014, 08:20  [ТС]
Программы вылетает при старте данной функции

Unfortunately, MyClass has stopped/

как уловить ошибку?
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
14.08.2014, 12:11
Ulan7, В секции catch добавить e.printStackTrace() и тогда ошибка выведется в стандартный output.
0
1 / 1 / 1
Регистрация: 26.09.2013
Сообщений: 19
14.08.2014, 16:15  [ТС]
Может вот это поможет узнать в чем ошибка?

08-14 18:11:05.153: E/Trace(644): error opening trace file: No such file or directory (2)
08-14 18:11:05.894: D/gralloc_goldfish(644): Emulator without GPU emulation detected.
08-14 18:12:59.193: D/InputEventConsistencyVerifier(644): KeyEvent: ACTION_UP but key was not down.
08-14 18:12:59.193: D/InputEventConsistencyVerifier(644): in android.widget.EditText@411b8140
08-14 18:12:59.193: D/InputEventConsistencyVerifier(644): 0: sent at 232368000000, KeyEvent { action=ACTION_UP, keyCode=KEYCODE_TAB, scanCode=15, metaState=0, flags=0x8, repeatCount=0, eventTime=232368, downTime=232255, deviceId=0, source=0x101 }
08-14 18:13:01.014: D/AndroidRuntime(644): Shutting down VM
08-14 18:13:01.014: W/dalvikvm(644): threadid=1: thread exiting with uncaught exception (group=0x40a13300)
08-14 18:13:01.094: E/AndroidRuntime(644): FATAL EXCEPTION: main
08-14 18:13:01.094: E/AndroidRuntime(644): java.lang.IllegalStateException: Could not execute method of the activity
08-14 18:13:01.094: E/AndroidRuntime(644): at android.view.View$1.onClick(View.java:35 91)
08-14 18:13:01.094: E/AndroidRuntime(644): at android.view.View.performClick(View.java :4084)
08-14 18:13:01.094: E/AndroidRuntime(644): at android.view.View$PerformClick.run(View. java:16966)
08-14 18:13:01.094: E/AndroidRuntime(644): at android.os.Handler.handleCallback(Handle r.java:615)
08-14 18:13:01.094: E/AndroidRuntime(644): at android.os.Handler.dispatchMessage(Handl er.java:92)
08-14 18:13:01.094: E/AndroidRuntime(644): at android.os.Looper.loop(Looper.java:137)
08-14 18:13:01.094: E/AndroidRuntime(644): at android.app.ActivityThread.main(Activity Thread.java:4745)
08-14 18:13:01.094: E/AndroidRuntime(644): at java.lang.reflect.Method.invokeNative(Na tive Method)
08-14 18:13:01.094: E/AndroidRuntime(644): at java.lang.reflect.Method.invoke(Method.j ava:511)
08-14 18:13:01.094: E/AndroidRuntime(644): at com.android.internal.os.ZygoteInit$Metho dAndArgsCaller.run(ZygoteInit.java:786)
08-14 18:13:01.094: E/AndroidRuntime(644): at com.android.internal.os.ZygoteInit.main( ZygoteInit.java:553)
08-14 18:13:01.094: E/AndroidRuntime(644): at dalvik.system.NativeStart.main(Native Method)
08-14 18:13:01.094: E/AndroidRuntime(644): Caused by: java.lang.reflect.InvocationTargetExcept ion
08-14 18:13:01.094: E/AndroidRuntime(644): at java.lang.reflect.Method.invokeNative(Na tive Method)
08-14 18:13:01.094: E/AndroidRuntime(644): at java.lang.reflect.Method.invoke(Method.j ava:511)
08-14 18:13:01.094: E/AndroidRuntime(644): at android.view.View$1.onClick(View.java:35 86)
08-14 18:13:01.094: E/AndroidRuntime(644): ... 11 more
08-14 18:13:01.094: E/AndroidRuntime(644): Caused by: java.lang.NullPointerException
08-14 18:13:01.094: E/AndroidRuntime(644): at esep.esep.MainActivity.bLogin_Click(Main Activity.java:44)
08-14 18:13:01.094: E/AndroidRuntime(644): ... 14 more
08-14 18:13:04.174: I/Process(644): Sending signal. PID: 644 SIG: 9
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
14.08.2014, 16:24
я бы в консоль выводил какой-то текст что бы видеть что строки
st = con.createStatement();
rs = st.executeQuery("SELECT ID FROM tbl_U

нормально отработали
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
14.08.2014, 18:23
Цитата Сообщение от Ulan7 Посмотреть сообщение
Caused by: java.lang.NullPointerException
08-14 18:13:01.094: E/AndroidRuntime(644): at esep.esep.MainActivity.bLogin_Click(Main Activity.java:44)
Смотрите на 44 строчку вашего файла. Там вы обращаетесь к объекту, который равен null.
0
1 / 1 / 1
Регистрация: 26.09.2013
Сообщений: 19
14.08.2014, 22:23  [ТС]
Java
43
44
DriverManager.registerDriver(new net.sourceforge.jtds.jdbc.Driver());
con = DriverManager.getConnection("jdbc:jtds:sqlserver://"+conSettings.getString(APP_PREFERENCES_SERVER, "").toString()+":1433/"+conSettings.getString(APP_PREFERENCES_DATABASE, "").toString()+";", conSettings.getString(APP_PREFERENCES_LOGIN, "").toString(), conSettings.getString(APP_PREFERENCES_PASSWORD, "").toString());
Значит в 43 строке не загружается драйвер, правильно? Как еще его правильно загрузить?
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
14.08.2014, 22:27
Ulan7, DriverManager.getConnection не может бросать NPE.
Проблема в вашем коде - один из вызовов conSettings.getString возвращает null
0
1 / 1 / 1
Регистрация: 26.09.2013
Сообщений: 19
21.08.2014, 20:10  [ТС]
Нашлось решение ошибки: дело в том что, начиная с Android 3.0 правила сетевого обращения немного изменились. Теперь нельзя обращаться к сетевым ресурсам в основном потоке активности, из-за этого DriverManager.getConnection выдавал NetworkOnMainThreadException

вот здесь нашел http://habrahabr.ru/post/145092/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.08.2014, 20:10
Помогаю со студенческими работами здесь

Ошибка при установке SQL Server 2005 Express Edition
возникает ошибка! Программе установки SQL Server не удалось получить сведения о системной учетной записи для учетной записи...

Ошибка при подключении к SQL Server
Здравствуйте. Создал базу, добавил GridView, который связал с SQLDataSource. Но при запуске формы дает ошибку: При установлении...

Ошибка при подключении к SQL Server
День добрый при компиляции в VS кода вылетает первоначально данная ошибка так же она вылетает при попытках обратиться к БД и...

Ошибка при подключении к SQL SERVER 2008
Кто нибудь сталкивался с подобной проблемой? При попытке добавления подключения к примеру в окне Server Explorer, сервер определяется,...

Ошибка при подключении БД в MS SQL Server 2008 R2
Пишу программу на C# для работы с базами данных MS SQL Server 2008 R2. Базу создал, все работало нормально. В DataGrid данные выводились. ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru