[ martinjuk @ 13.04.2008. 02:20 ] @
| Ucim javu i vec duze vreme se patiim oko nekoliko redova koji glase:
Code:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:bazaPrimer";
con = DriverManager.getConnection(url);
Njima pocinje funkcija, i dalje od ovoga ne ide. U zadnjem navedenom redu se javi exception. U samom kodu funkcija getConnection mi je italic i kad stanem misem iznad nje NetBeans mi kaze: "GetConnection is not a known variable in current context".
Ne znam da li sam sve dobro podesio, narocito podatke vezne za klase tipa ona CLASSPATH, ili ko zna sta sve jos... Uglavnom vrtim se u krug, jer ne mogu da provalim ni otprilike gde gresim, iako sam svasta procitao.
Otvorio sam i fajl DriverManager.java u kome pise da importuje sun.misc.Service i java.util.Iterator. Prvi od njih je podvucen i javlja: "Import from forbidden package". E sad ja nemam pojma da li ja taj fajl imam, ali verujem da imam posto sam svasta poskidao pa onda i to, verovatno. Ali ne znam gde da ga trazim, i kako da njegovu lokaciju objasnim NetBeansu. Pretpostavljam da je ceo problem bas oko ovog fajla, mada, ko zna...
Fajl DriverManager.java sam otvorio drzeci control i klikom na funkciju getConnecton, sto znaci da kompajler zna gde se nalazi ovaj fajl.
Baza je MySQL.
Pozdrav! |
[ Ha-Nocri @ 13.04.2008. 03:28 ] @
Nisi definisao koji ti je tip con. Trebalo bi da bude:
Connection con = DriverManager.getConnection(url);
Zato je con i bila nepoznata variabla posto nije definisana. Ja mislim da je to problem, osim ako si je definisao ispred, a taj deo koda nam nisi postovao.
[ anon156554 @ 13.04.2008. 09:30 ] @
@Ha-Nocri
Nije tacno.
Connection je interfejs, a drivermanager vraca instancu klase koja ga implementira, u zavisnosti od navedene baze, odnosno jdbc drivera sa nju.
Ako je baza mysql, onda
String URL = "jdbc:mysql://127.0.0.1/3306/ImeBaze";
String user;
String pass;
Connection con = DriverManager.getConnection(URL, user, pass);
Treba da u projektu, u netbeansu, libraries cvoru, desni klik, pa add jar file, pa odvedes do jdbc drivera za mysql.
[ martinjuk @ 13.04.2008. 11:31 ] @
Zaboravio sam napisati da sam con deklarisao ranije kao Connection za celu klasu. U libraries postoji fajl mysql-connector-java-3.1.12-bin.jar. Ne znam da li je to odgovarajuci drajver. Takodje nije mi jasno cemu sluzi onaj prvi red mog koda, jer ova funkcija cini mi se vraca neki rezultat koji ja nigde ne prihvatam, sto znaci i da mi je beskoristan. Osim toga ako sam u drugom redu promenio string url onda bi verovatno trebao da promenim i argument funkcije Class.forName.
Osim toga primetio sam da mi prilikom kompajliranja napise i:
Non-existing path "D:\Nauka i tehnika\VETS\Internet programiranje\1\Primer aplikacije\SI2\${ws.debug.classpaths}" provided.
Non-existing path "D:\Nauka i tehnika\VETS\Internet programiranje\1\Primer aplikacije\SI2\${ws.web.docbase.dirs}" provided.
a ja ne znam sta mu fali i gde da procitam ove promenljive.
[ anon156554 @ 13.04.2008. 14:17 ] @
Class.forName(String) ucitava class file naveden stringom u jvm. Taj class fajl koristi program kada komunicira sa bazom.
Pri ucitavanju class fajla, obavlja se automatski static{} blok klase Driver, koji poziva DriverManager.registerDriver staticku metodu, kojom se drajver, recimo za mysql registruje, pa je raspoloziv za komunikaciju sa bazom.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.