Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Not a known variable in current context

[es] :: Java :: Not a known variable in current context

[ Pregleda: 2213 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

martinjuk
Martinjuk Milan
Kula

Član broj: 13568
Poruke: 39
*.7cec54.tvnetwork.hu.

Sajt: www.martinjuk.org


Profil

icon Not a known variable in current context13.04.2008. u 02:20 - pre 194 meseci
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!
 
Odgovor na temu

Ha-Nocri

Član broj: 45144
Poruke: 1192
79.101.86.*



+10 Profil

icon Re: Not a known variable in current context13.04.2008. u 03:28 - pre 194 meseci
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.
i5-750 @4GHz with CM Hyper 212+
GTX 580 Lightning XE 3GB
Corsair HX750
CM Sniper
 
Odgovor na temu

anon156554

Član broj: 156554
Poruke: 100
*.vektor.net.



Profil

icon Re: Not a known variable in current context13.04.2008. u 09:30 - pre 194 meseci
@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.
 
Odgovor na temu

martinjuk
Martinjuk Milan
Kula

Član broj: 13568
Poruke: 39
*.7cec54.tvnetwork.hu.

Sajt: www.martinjuk.org


Profil

icon Re: Not a known variable in current context13.04.2008. u 11:31 - pre 194 meseci
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.
 
Odgovor na temu

anon156554

Član broj: 156554
Poruke: 100
*.vektor.net.



Profil

icon Re: Not a known variable in current context13.04.2008. u 14:17 - pre 194 meseci
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.
 
Odgovor na temu

[es] :: Java :: Not a known variable in current context

[ Pregleda: 2213 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.