Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Java Базы данных (JDBC, JPA, Hibernate)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2013, 13:36   #1
promt
Пользователь
 
Регистрация: 28.03.2011
Сообщений: 32
По умолчанию Не хочет подключаться к БД

Код:
import java.sql.*;
import java.io.*;

public class DB {
	
	public static synchronized void add()throws SQLException, ClassNotFoundException {
			System.out.println("TEST");	
			Class.forName("org.sqlite.JDBC");
			System.out.println("TEST2");	
			Connection connection = null;

			connection = DriverManager.getConnection("jdbc:sqlite:my.sqlite");
			Statement st = connection.createStatement();
			ResultSet res = st.executeQuery("SELECT * FROM history;");
			ResultSetMetaData rmd = res.getMetaData();
			System.out.println(rmd.getColumnName(2));
			System.out.println("TEST3");	
			
	}
	
}
Библиотеку в проект добавил sqlite-jdbc-3.7.2.jar.
System.out.println("TEST"); печатает и все. После выполнения Class.forName("org.sqlite.JDBC"); уже нечего не печатает (System.out.println("TEST2"); - не печатает). В чем проблема не могу понять.

P.S. С java только начала работать.
promt вне форума Ответить с цитированием
Старый 15.12.2013, 08:04   #2
codekick
Пользователь
 
Аватар для codekick
 
Регистрация: 15.01.2010
Сообщений: 28
По умолчанию

Скорей всего у вас Class.forName() выбрасывает ClassNotFoundException. Что бы убедится точно уберите ClassNotFoundException из throws метода и отловите его локально с отладочным сообщением. Если оно возникнет значит что то не так с jar'ом.

P.S. А зачем метод у вас synchronized? o_O
Программирование JavaEE/JavaSE
Платформы: Windows, Linux.
ICQ: 415253529; Skype: codekick;
codekick вне форума Ответить с цитированием
Старый 15.12.2013, 13:40   #3
promt
Пользователь
 
Регистрация: 28.03.2011
Сообщений: 32
По умолчанию

Вот чуть переделал и сейчас выводиться следующее:
Код:
public class DB {
	public static void  add(){
		Connection connection = null;
        try {
            // create a database connection
            connection = DriverManager.getConnection("jdbc:sqlite:my.sqlite");
            Statement statement = connection.createStatement();
            statement.setQueryTimeout(30); // set timeout to 30 sec.
            ResultSet rs = statement.executeQuery("SELECT * FROM history");
            ResultSetMetaData rsmd = rs.getMetaData();
            System.out.println(rsmd.getColumnName(2));
        }catch(SQLException e){
        	 System.err.println(e.getMessage());
        }
	}

	
}

В main вызываю вот так:
 try {
			Class.forName("org.sqlite.JDBC");
		} catch (ClassNotFoundException e1) {
			e1.printStackTrace();
		}
    	  DB.add();
Срабатывает исключения ClassNotFoundException со следующим:


Выходит что драйвер не работает. Хотя создаю новое приложения и там работает.
promt вне форума Ответить с цитированием
Старый 15.12.2013, 13:45   #4
codekick
Пользователь
 
Аватар для codekick
 
Регистрация: 15.01.2010
Сообщений: 28
По умолчанию

Это однозначно jar не приаттачен к проекту. У тебя не пашет ни в IDE или в готов проекте?
Программирование JavaEE/JavaSE
Платформы: Windows, Linux.
ICQ: 415253529; Skype: codekick;
codekick вне форума Ответить с цитированием
Старый 15.12.2013, 13:51   #5
promt
Пользователь
 
Регистрация: 28.03.2011
Сообщений: 32
По умолчанию

Работаю в Eclipse. Нужно в готовый проект добавить БД. Добавил библиотеку sqlite-jdbc-3.7.2.jar. Не хочет работать. Создаю новый пустый проект, добавляю эту же библиотеку все работает.
promt вне форума Ответить с цитированием
Старый 15.12.2013, 13:57   #6
codekick
Пользователь
 
Аватар для codekick
 
Регистрация: 15.01.2010
Сообщений: 28
По умолчанию

Как выглядит готовый проект? jar файл или просто папка с классами
Как ты добавляешь библеотеку в готовый проект? через IDE?
Программирование JavaEE/JavaSE
Платформы: Windows, Linux.
ICQ: 415253529; Skype: codekick;
codekick вне форума Ответить с цитированием
Старый 15.12.2013, 14:00   #7
promt
Пользователь
 
Регистрация: 28.03.2011
Сообщений: 32
По умолчанию

Папка с файлами. Библиотеку добаляю через IDE вот так: Выделяю проект->Properties->Java Build Patch->Library->Add jar
promt вне форума Ответить с цитированием
Старый 15.12.2013, 14:03   #8
codekick
Пользователь
 
Аватар для codekick
 
Регистрация: 15.01.2010
Сообщений: 28
По умолчанию

Тогда неправыльные параметры запуска программы.
Если ты добавляешь ее через IDE то вслучае если прога не собирается в итоге в jar то бесполезно , так не будет работать. нужно правиль скрипт запуска проги и так в class path добавить эту jar'ку.
Программирование JavaEE/JavaSE
Платформы: Windows, Linux.
ICQ: 415253529; Skype: codekick;
codekick вне форума Ответить с цитированием
Старый 15.12.2013, 14:08   #9
promt
Пользователь
 
Регистрация: 28.03.2011
Сообщений: 32
По умолчанию

Правка к сообщению №7.Этот проект был взят из репозитория и слит как Java Project. Сам файл classpath:
Цитата:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="lib" path="lib/sqlite-jdbc-3.7.2.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE _CONTAINER/org.eclipse.jdt.internal.debug.ui.l auncher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="output" path="bin"/>
</classpath>
promt вне форума Ответить с цитированием
Старый 16.12.2013, 20:15   #10
promt
Пользователь
 
Регистрация: 28.03.2011
Сообщений: 32
По умолчанию

Проблема решена. В bat файле дописал дерективу с библиотекой.
java -cp ./lib/sqlite-jdbc-3.7.2.jar;./bin server.DB
promt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не хочет изменять в БД cargo29 PHP 14 07.10.2011 13:54
не хочет компилироваться (С++) Belomor Помощь студентам 3 30.11.2009 19:45
Не хочет загружаться zotox Помощь студентам 9 04.05.2009 17:30