databáze součásti javy
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
databáze součásti javy
Dobrý den, řešíme ve škole jeden program v javě a potřebovali bychom, aby součástí programu byla i databáze...je nějaké řešení?
Databáze se musí spustit s programem...program pak něco do dbs zapisuje...když se ukončí program, dbs se ukončí taky (data v ní zůstanou)
V zadání totiž je, že na klientském pc nebude žádná dbs...vše musí být s programem...
díky
Databáze se musí spustit s programem...program pak něco do dbs zapisuje...když se ukončí program, dbs se ukončí taky (data v ní zůstanou)
V zadání totiž je, že na klientském pc nebude žádná dbs...vše musí být s programem...
díky
- Caderom
- Začátečník

- Registrován: 03. pro 2005
- Bydliště: Beroun
Re: databáze součásti javy
SQLite
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: databáze součásti javy
ok, díky...prostudujeme....
ještě nám někdo říkal něco o derby databázi...nemáte nějaké info?
ještě nám někdo říkal něco o derby databázi...nemáte nějaké info?
- Caderom
- Začátečník

- Registrován: 03. pro 2005
- Bydliště: Beroun
Re: databáze součásti javy
Jo, Derby databáze by šla také použít.
Stručné srovnání těchto 2 databází - http://www.sqlite.org/cvstrac/wiki?p=SqliteVersusDerby
Stručné srovnání těchto 2 databází - http://www.sqlite.org/cvstrac/wiki?p=SqliteVersusDerby
- arxeiss
- Začátečník

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
Re: databáze součásti javy
Javu neprovozuju, a výše zmíněné DB taky ne, ale o SQLite vím, že je to hojně využívaná DB v malých programcích, je to DB která nepotřebuje žádný server ani nic, a je souborová, jenom tvůj program musí mít třídu pro práci s touto DB.
Je ovšem hodně omezená, ale pro klasické věci stačí až nad hlavu. Např většina aplikací v Androidech právě pro ukládání využívá SQLite
Je ovšem hodně omezená, ale pro klasické věci stačí až nad hlavu. Např většina aplikací v Androidech právě pro ukládání využívá SQLite
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: databáze součásti javy
jj, vypadá to že to chodí...teď to budeme testovat....díky za pomoc....ozvu se jak to dopadlo...
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: databáze součásti javy
no tak mám zajímavý problém:
udělal jsem javu, sbírání dat, zápis do DBS SQLite, vzhled a pod. a po spuštění to při pokusu o zápis dat do DBS hodí do výpisu chybu out of memory....program nespadne, běží dál...
když jsem celý projekt poslal kolegům, tak jim to nedělá a normálně zapisuje do DBS...
nevíte proč?
udělal jsem javu, sbírání dat, zápis do DBS SQLite, vzhled a pod. a po spuštění to při pokusu o zápis dat do DBS hodí do výpisu chybu out of memory....program nespadne, běží dál...
když jsem celý projekt poslal kolegům, tak jim to nedělá a normálně zapisuje do DBS...
nevíte proč?
- yuri.cs
- Mírně pokročilý

- Registrován: 03. led 2007
- Bydliště: hl.m. piva
- Kontaktovat uživatele:
Re: databáze součásti javy
Skus JVM dat parametr napr. -Xmx512m a sleduj jestli bude mit porad malo pameti.
It will be amazing in case after 10GHz we will see 20GHz, 30GHz and so on, just like we witnessed the thorny way from 10MHz to 33MHz in the eighties. -xbitlabs.com
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: databáze součásti javy
ok, zkusím to v netbeansech najít a nastavit...
Ale koukal jsem do správce úloh na volnou fyz.paměť a než program spustím mám asi 550 volné paměti...po spuštění to klesne na necelých 400a pak při zápisu to do databáze to dost klesne...ale na nulu se to dostane jen při opakovaném (neúspěšném) zápisu...
Ale na PC kde mi to funguje tak i když mám dle správce úloh nula paměti, tak to funguje...
Ale koukal jsem do správce úloh na volnou fyz.paměť a než program spustím mám asi 550 volné paměti...po spuštění to klesne na necelých 400a pak při zápisu to do databáze to dost klesne...ale na nulu se to dostane jen při opakovaném (neúspěšném) zápisu...
Ale na PC kde mi to funguje tak i když mám dle správce úloh nula paměti, tak to funguje...
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: databáze součásti javy
tak to nepomohlo...pořád chyba
dělá to už na začátku:
vleze to do :
dělá to už na začátku:
Kód: Vybrat vše
public void CreateTable(String name) throws SQLException {
try {
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:" + this.name + ".db");
Statement stat = conn.createStatement();
stat.executeUpdate("create table if not exists " + name + " (id integer PRIMARY KEY AUTOINCREMENT, datum_a_cas datetime, prutok float(53));");
conn.close();
} catch (ClassNotFoundException e) {
// něco
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
Kód: Vybrat vše
} catch (SQLException e) {
System.out.println(e.getMessage());
}- yuri.cs
- Mírně pokročilý

- Registrován: 03. led 2007
- Bydliště: hl.m. piva
- Kontaktovat uživatele:
Re: databáze součásti javy
proklepnul bych ten argument 'name'. ta cesta k DB musi mit nejakej tvar, tak treba neni dodrzenej a nemuze se tak nakonektit
It will be amazing in case after 10GHz we will see 20GHz, 30GHz and so on, just like we witnessed the thorny way from 10MHz to 33MHz in the eighties. -xbitlabs.com
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: databáze součásti javy
ok, podívám se...je ale zajímavé, že dám projekt na flešku,zkopíruju do dalších 3 pc s netbeansama a tam to jde
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: databáze součásti javy
Díky moc, bylo to tím...do name jsem dávali jen název souboru...
Na 5 PC to nevadilo a vytvořilo dbs soubor ve složce s projektem (tak jak jsme potřebovali), ale jen můj notebook-debil musí mít napsanou celou cestu...
Teď je ale problém, jak napsat cestu aby to bylo ve složce s projektem? když dám
\\dbs.db
tak to vytvoří soubor na disku C...
Já ale nemůžu vědět, kam si to uživatel zkopíruje, takže nemůžu dát natvrdo cestu...
Edit:
Zatím to řeším tak, že zjistím pomocí System.getProperty("user.dir") cestu...
Na 5 PC to nevadilo a vytvořilo dbs soubor ve složce s projektem (tak jak jsme potřebovali), ale jen můj notebook-debil musí mít napsanou celou cestu...
Teď je ale problém, jak napsat cestu aby to bylo ve složce s projektem? když dám
\\dbs.db
tak to vytvoří soubor na disku C...
Já ale nemůžu vědět, kam si to uživatel zkopíruje, takže nemůžu dát natvrdo cestu...
Edit:
Zatím to řeším tak, že zjistím pomocí System.getProperty("user.dir") cestu...
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: databáze součásti javy
hmm, tak problém ...vadí mu háčky a čárky v cestě...
Takže:
Funguje:
nefunguje:
mezery nevadí:
Takže:
Funguje:
Kód: Vybrat vše
String cesta="\\XXX\\";
Kód: Vybrat vše
String cesta="\\Sdílená složka\\";
Kód: Vybrat vše
String cesta="\\slozka x\\";
- yuri.cs
- Mírně pokročilý

- Registrován: 03. led 2007
- Bydliště: hl.m. piva
- Kontaktovat uživatele:
Re: databáze součásti javy
jo jo, nikdy nepouzivat tohle zlo jako je diakritika, mezery a dalsi non-ASCII veci v path!
Tohle jsou casto dost psycho veci na debug. Pomatuju na soubory pojenovany s mezerou pred nazvem.
Tohle jsou casto dost psycho veci na debug. Pomatuju na soubory pojenovany s mezerou pred nazvem.
It will be amazing in case after 10GHz we will see 20GHz, 30GHz and so on, just like we witnessed the thorny way from 10MHz to 33MHz in the eighties. -xbitlabs.com
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: databáze součásti javy
Nojo, jenže:
1)jak to vyřešit, když si uživatel dá program do složky která má v názvu diakritiku?
2)nemůžu použít ani uživatelovu složku (v názvu účtu win mám taky diakritiku)
3)proč to dělá jen na mém notebooku?
Takže jediná možnost je nastavit natvrdo cestu např. C:/
1)jak to vyřešit, když si uživatel dá program do složky která má v názvu diakritiku?
2)nemůžu použít ani uživatelovu složku (v názvu účtu win mám taky diakritiku)
3)proč to dělá jen na mém notebooku?
Takže jediná možnost je nastavit natvrdo cestu např. C:/
- W3N4
- Začátečník

-
- Registrován: 06. srp 2008
Re: databáze součásti javy
Tak nepouzivej absolutni cestu ale relativni, ne?
Jinak par poznamek:
- Dodrzuj konvence (metody zacinaji malym pismenem).
- Tady je to celkem jedno, vzhledem k tomu, ze pouzivas databazi v embedded modu, ale presto bych pouzival PreparedStatementy.
- Pokud vyjmku zachycujes, je zbytecne ji propagovat v signature metody.
Jinak par poznamek:
- Dodrzuj konvence (metody zacinaji malym pismenem).
- Tady je to celkem jedno, vzhledem k tomu, ze pouzivas databazi v embedded modu, ale presto bych pouzival PreparedStatementy.
- Pokud vyjmku zachycujes, je zbytecne ji propagovat v signature metody.
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: databáze součásti javy
no asi takto..tuto třídu která má na starost databázi dělal kolega v mé skupině...je to školní projekt...
ale samo, že kdyby to bylo něco oficiálního, tak to bude vypadat jinak...teď jsme v časovém presu...
zkusím relativní cestu a dám vědět...
P.S.: Když dám v netbeansech vytvoření spustitelné verze (Run->Clean a Build Main Project), tak pak už ta spustitelná verze funguvala i na mém notebooku...
EDIT:
Tak buďto zapisuji relativní cestu špatně, nebo to nejde:
Absolutní cesta je takto:
C:\Sdílená složka\STI_projekt\STI_projekt\databaze.db
zkoušel jsem to zapsat takto:
Soubor="..\\databaze.db"; -chyba
Soubor="STI_projekt\\databaze.db"; -cesta nenalezena, protože je v cestě navíc ta složka, když jí vytvořím, tak chyba jako předtím
Soubor="..\\STI_projekt\\databaze.db"; -chyba
EDIT2:
ještě jsem si s tím hrál a dal jsem cestu jako:
\\databaze.db
a dal Clean a Build Main Project a spustil
teď už to háže jiný problém - databázi asi najde, ale vadí že v ní jsou záznamy s diakritikou...
a k tomu to začalo ignorovat mojí cestu a bere to nějaký starý soubor s databází
ale samo, že kdyby to bylo něco oficiálního, tak to bude vypadat jinak...teď jsme v časovém presu...
zkusím relativní cestu a dám vědět...
-sorry, to mi nějak ušlo, jsem si toho ani nevšiml...asi to tam šoupnul netbeansW3N4 píše:Tak nepouzivej absolutni cestu ale relativni, ne?
- Pokud vyjmku zachycujes, je zbytecne ji propagovat v signature metody.
P.S.: Když dám v netbeansech vytvoření spustitelné verze (Run->Clean a Build Main Project), tak pak už ta spustitelná verze funguvala i na mém notebooku...
EDIT:
Tak buďto zapisuji relativní cestu špatně, nebo to nejde:
Absolutní cesta je takto:
C:\Sdílená složka\STI_projekt\STI_projekt\databaze.db
zkoušel jsem to zapsat takto:
Soubor="..\\databaze.db"; -chyba
Soubor="STI_projekt\\databaze.db"; -cesta nenalezena, protože je v cestě navíc ta složka, když jí vytvořím, tak chyba jako předtím
Soubor="..\\STI_projekt\\databaze.db"; -chyba
EDIT2:
ještě jsem si s tím hrál a dal jsem cestu jako:
\\databaze.db
a dal Clean a Build Main Project a spustil
teď už to háže jiný problém - databázi asi najde, ale vadí že v ní jsou záznamy s diakritikou...
a k tomu to začalo ignorovat mojí cestu a bere to nějaký starý soubor s databází
- W3N4
- Začátečník

-
- Registrován: 06. srp 2008
Re: databáze součásti javy
A zkousel jsi proste cestu:
databaze.db
nebo pripadne:
.\databaze.db
(ted si ale nejsem jisty, jestli tecka na windowsu znaci aktualni adresar, stejne jako na unixu)
Btw mozna by nebylo na skodu hodit sem tu chybu, vcetne cele stacktrace pokud se jedna o vyjmku.
databaze.db
nebo pripadne:
.\databaze.db
(ted si ale nejsem jisty, jestli tecka na windowsu znaci aktualni adresar, stejne jako na unixu)
Btw mozna by nebylo na skodu hodit sem tu chybu, vcetne cele stacktrace pokud se jedna o vyjmku.
- Václav Sedlář
- Žlutá karta Bazar

-
- Registrován: 01. dub 2006
- Bydliště: Liberec
- Kontaktovat uživatele:
Re: databáze součásti javy
zkoušel jsem tečku a to nejde...myslím že to bralo jako adresář s názvem tečka
dám výpis chyb...
ale zajímavé je, že to blbne jen ve vývoj.prostředí...když z toho udělám spustitelný, tak to funguje
edit1:
zde: http://www.xerial.org/trac/Xerial/wiki/SQLiteJDBC je napsáno, že hláška out of memory znamená:
zde je komplet výpis e.printStackTrace():
dám výpis chyb...
ale zajímavé je, že to blbne jen ve vývoj.prostředí...když z toho udělám spustitelný, tak to funguje
edit1:
zde: http://www.xerial.org/trac/Xerial/wiki/SQLiteJDBC je napsáno, že hláška out of memory znamená:
EDIT2:catch(SQLException e)
{
// if the error message is "out of memory",
// it probably means no database file is found
System.err.println(e.getMessage());
}
zde je komplet výpis e.printStackTrace():
Kód: Vybrat vše
[color=#FF4000]
java.sql.SQLException: out of memory
at org.sqlite.DB.throwex(DB.java:288)
at org.sqlite.NestedDB._open(NestedDB.java:73)
at org.sqlite.DB.open(DB.java:77)
at org.sqlite.Conn.<init>(Conn.java:88)
at org.sqlite.JDBC.connect(JDBC.java:64)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:207)
at database.RiverDatabase.CreateTable2(RiverDatabase.java:44)
at sti_projekt_gaficky.STI_projekt_gafickyView.<init>(STI_projekt_gafickyView.java:59)
at sti_projekt_gaficky.STI_projekt_gafickyApp.startup(STI_projekt_gafickyApp.java:19)
at org.jdesktop.application.Application$1.run(Application.java:171)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
[/color]