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