| | |
| Stránka: 1 z 1
| [ Príspevkov: 9 ] | |
Autor | Správa |
---|
Registrovaný: 27.04.08 Prihlásený: 16.07.11 Príspevky: 126 Témy: 33 |
Ahojte,
Pracujem na jednom projekte. Programujem v jave. Chcel by som pouzit databazu, pretoze budem pracovat s kvantami udajov, ktore mozem pekne zatriedit do tabuliek, vytvarat historiu..
Takze k veci:
Rozhodol som sa pre pouzitie Open Office databazy pretoze je Open source a zaroven nechcem aby aplikacia bola zavisla na nejakom databazovom servery. Pripojil som kniznicu
HSQLDB
Zdrojovy kod:
Kód: import java.sql.*; package databaza;
public class TestDb {
/** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("hai");
try { Class.forName("org.hsqldb.jdbcDriver"); } catch(ClassNotFoundException e) { System.out.println(e); }
try { Connection con=null; try{ con=DriverManager.getConnection("jdbc:hsqldb:file:/home/tomas/Plocha/databaza.odb"); }catch(Exception e){ System.out.println(e.getMessage()); } System.out.println(con.toString());
Statement st=con.createStatement(); System.out.println(st.toString()); ResultSet rs=st.executeQuery("select * from DATABAZA.databazaPotravin"); System.out.println(rs.getFloat("Tuky"));
st.close(); con.close();
} catch(SQLException e){ System.out.println(e); }
}
}
1.vec neviem ci som isto zadal spravnu cestu k databaze : no ked som otvoril databazu v Open office a spustil program tak ide vypysalo nasledovne hlasenie: Kód: The database is already in use by another process: lockFile: org.hsqldb.persist.LockFile@79d4c31e[file =/home/tomas/Plocha/databaza.odb.lck, exists=true, locked=false, valid=false, ] method: checkHeartbeat read: 2010-07-12 14:40:35.697 heartbeat - read: -6540 ms. Exception in thread "main" java.lang.NullPointerException at TestDb.main(TestDb.java:28) Java Result: 1
cim si myslim, ze cesta je spravna No najpodstatnejsie je, ked nieje otvorena databaza v OpenOffice tak vypise hlasenie: Kód: java.sql.SQLException: Table not found in statement [SELECT * FROM databazaPotravin]
pricom dana tabulka existuje.
Dakujem vopred za pomoc
|
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | Napísal coldak: 12.07.2010 14:56 | |
|
pozor, neviem ako je to v HSQLDB ale moze byt ze ak mas v nazve aj male pismena tak by si mal nazov db objektu(tabulky) davat v uvodzovkach
|
|
Registrovaný: 27.04.08 Prihlásený: 16.07.11 Príspevky: 126 Témy: 33 | Napísal autor témy arnie16: 12.07.2010 16:31 | |
|
Nejdde...skusil som aj iny prikaz poslat konkretne vytvorenie tabulky...hlasku nevypysalo... no ked som otvoril databazovy subor v OOO tak tam je len ta povodna tabulka nie ta nova, co som skusal
|
|
Registrovaný: 01.04.10 Prihlásený: 08.10.11 Príspevky: 339 Témy: 0 | Napísal Forty-: 12.07.2010 21:52 | |
|
Obavam sa, ze OOo Base pouziva 'in-memory database management', cize cela tvoja HyperSQL databazka je len v pamati. Je 'embedded' priamo k tomu OOo B; cize bezi len ked mas OOo pusteny.
Existuje aj 'disc-based hsqldb', kde pracujes so subormi na disku.
Neviem co za projekt robis, ale nebolo by ti lepsie mat skutocne beziaci db server? Preco si nepustit MySQL ako systemovy servis ?
Dalsia dobra rada : ked odchytavas vynimku pri snahe vytvorit spojenie tak si okrem getMessage() vypis nejake relevantne info; aby si vedel ci ti to vskutocnosti padlo uz pri vytvarani spojenia alebo az pri SQL statemente.
|
|
Registrovaný: 01.04.10 Prihlásený: 08.10.11 Príspevky: 339 Témy: 0 | Napísal Forty-: 12.07.2010 21:58 | |
|
coldak píše: pozor, neviem ako je to v HSQLDB ale moze byt ze ak mas v nazve aj male pismena tak by si mal nazov db objektu(tabulky) davat v uvodzovkach
Nie, to len pri special znakoch. Pravda vsak je taka, ze pri cross platform veciach si treba davat pozor na case sensitivitu.
Priklad :
spravim si db tabulku 'ludia'. Mam prikazy (SELECT * FROM LUDIA a SELECT * FROM ludia). Pod windowsom pojdu obidva, pod linuxom len ten druhy ...
|
|
Registrovaný: 27.04.08 Prihlásený: 16.07.11 Príspevky: 126 Témy: 33 | Napísal autor témy arnie16: 12.07.2010 23:44 | |
|
to robim pre jednu firmicku, co sa zaobera zdravym zivotnym stylom... Vytvaram databazu potravin, vyzivove tabulky lepsie... najskor, ze pouzijem kontainery, ktrore ulozim do .bin a nasledne dam do .jar .No toto riesenie mi pride zle, pretoze tych zaznamov a udajov je neurekom..takze aj upravy potom su znacne zlozitejsie...
Preco nie na serverovej strane? ...takze chcem aby aplikacia nebola zavisla od internetu..ako pracovat s mysql mi nerobi nejake problemy a na danu vec by aj postacoval bezproblemov,... takze tak..
popripade aky databazovy system by ste mi poradili pre vytvaranie lokalnej databazy ? open-source , GNU-GPL, free
|
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | Napísal coldak: 13.07.2010 7:35 | |
|
na akej platforme to budes mat ? pokial na nejakom windowse alebo linuxe tak kludne pouzi SQLite je to len jedna dll a datovy subor. pokial chces nieco v purejava a nevadi ze nieje SQL tak mozes skusit berkeleydb java edition http://www.oracle.com/technology/products/berkeley-db/je/index.html neboj, oracle to len odkupil, tak ako pred casom aj MySql
|
|
Registrovaný: 01.04.10 Prihlásený: 08.10.11 Príspevky: 339 Témy: 0 | Napísal Forty-: 14.07.2010 10:51 | |
|
ale vsak HSQL je dobra offline db, len k nej treba tak pristupovat je to vsetko v pamati ...
|
|
Registrovaný: 27.04.08 Prihlásený: 16.07.11 Príspevky: 126 Témy: 33 | Napísal autor témy arnie16: 15.07.2010 23:16 | |
|
Vdaka za rady..nakoniec som pouzil SQLite, ktore mi bolo velmi GUI k nemu... zaznamy som vytvaral v open office naledne ich prekopiroval do txt a inpotoval do databaze
|
|
| Stránka: 1 z 1
| [ Príspevkov: 9 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|