Научи ме
Програмиране => Java => Темата е започната от: Meniak в 14 Септември 2014, 18:34:31
-
Здравейте. Не можах да измисля по тъпо име на темата ама маи и това се подразбира. Та направих си програмата с която се уча на Java ама сега друг проблем. Направих си jar файла на програмата и всичко е ок докато е стартирана базата данни от NetBeans, след като изляза от NetBeans базата данни се изключва и jar файла не се стартира. Как да оправя тоя проблем?
-
Ами много просто - стартирай си базата данни.
ПП: JDBC не JDBO
-
Да моя грешка JDBC е мерси за поправката. Под "стартирай си базата данни" какво имаш предвид!!! всеки път да отварям Netbeans и да я пускам? То ако е така ще е яка програмата ама на дали някои ще я ползва :D.
-
Не си казал каква база ползваш, но примерно Apache Derby може да работи в 2 режима - самостоятелно - и във "вграден" режим. За самостоятелния - ти трябва да си я пускаш ръчно, или вече да я има пусната някъде и ти само да се свържеш към нея. Това, което ти трябва на теб е да използваш "вградения" режим. Тук може да видиш как да го използваш: http://db.apache.org/derby/papers/DerbyTut/embedded_intro.html
-
Да Apache Derby ползвам. Та написах едно приложение ама целта му беше да си има вградена база данни в него и да не му трябват сървър ама понеже още и на представа си нямам за какво става дума сам го направил по самостоятелния начин и сега проблем, трябва да пускам ръчно базата за да работи приложението. А как да го направя да работи с вградена база данни и на представа си нямам. Този линк дето ми даде до някъде ме насочи какво да търся но и тотално ме обърка. Разбрах само че вместо да ползвам derbyclient.jar трябва да ползвам derby.jar ама и в това не съм сигурен а и не мога да намеря един урок направен за малоумници кат мене та дано го разбера .
-
Правилно си се насочил към derby.jar
1.) трябва да добавиш гореспоменатият файл към проекта си.
2.) трябва да заредиш embedded driver-a:
public String driver = "org.apache.derby.jdbc.EmbeddedDriver";
Class.forName(driver).newInstance();
3.)Свързваш се:
public String protocol = "jdbc:derby:";
Connection conn = DriverManager.getConnection(protocol + "derbyDB;create=true", props);
4.)Като си спираш приложението спираш и базата:
DriverManager.getConnection("jdbc:derby:derbyDB;shutdown=true");
-
Добре, до тук се оправих макар че това дето го пише в нета е от на баба кръщенето и няма нищо общо с сегашното. Сега имам друг проблем но първо да питам тая база в вграден режим може ли да ъпдейтва и да трие щото при мене като започна да ъпдейтвам/трия от базата нещо и програмата забива в мислене и това е нито съобщение за грешка нито нищо.
-
Най вероятно нетбооба създава базата на друго място, и затова не се свързваш към нея. Така че провери къде нетбийнса я е създал и къде приложението си е създало своята и просто я премести :)
Слято мнение: 16 Септември 2014, 20:18:56
http://stackoverflow.com/questions/9494761/where-is-derby-database-stored-when-i-create-it-from-netbeans
-
NetBeans я създава в My Documnets при Win аз я вземам от там и я слагам в папката на проекта на NetBeans и ок всичко работи селект инсерт ама при делете и упдате не.
-
Какво означава не работи ?
-
Ами когато искам да изтрия или ъпдейтна поле в базата програмата замръзва и нищо не става нито съобщение за грешка нищо а този същия код го ползвах и в другия режим на работа и си действаше перфектно
-
Ами пускаш дебъгера и гледаш какво се случва. Виж в кой метод увисва. Най-вероятно повредата е в твоя “телевизор“. Така дистанционно без да съм видял и ред от програмата нищо не мога да кажа :)
-
Тя повредата винаги е в моя телевизор ама сега няма да кажа каква беше повредата защото ще падне голям смях. Както и да е мерси много за отделеното време.