[ kukipei @ 25.04.2005. 23:40 ] @
Pozdrav svima.

Pokusavam da povezem aplet sa mysql bazom na lokalnom kompjuteru.
Ovo je isecak koda:

public class MySQLKonekcija
{

Connection conn = null;
Statement stmt = null;
ResultSet rs = null;

public MySQLKonekcija()
{
try
{
String driver = "com.mysql.jdbc.Driver";
Class.forName(driver).newInstance();
}
catch( Exception e )
{
System.err.println( e );
}
}

public void ZakaciSe(String url, String korisnicko_ime, String lozinka)
{
try
{
/* Connection to database with default user and password*/
conn = DriverManager.getConnection(url, korisnicko_ime, lozinka);
stmt = conn.createStatement();
}
catch( Exception e )
{
System.err.println( e );
}
}
....
}

Iz druge klase poziv funkcije ZakaciSe:
konekcija.ZakaciSe("jdbc:mysql://localhost/sah", "root", "");



Sada kada startujem aplet preko apletviewera sve radi kako treba,
ali kada startujem aplet u brouzeru (IE6), dobijem sledecu gresku:
"java.sql.SQLException: Cannot connect to MySQL server on localhost:3306.
Is there a MySQL server running on th machine/port you are trying to connect to?
(com.ms.security.SecurityExceptionEx)"

Da li neko zna kako da resim ovaj problem i da se zakacim na bazu.

Pozdrav.
[ Java Beograd @ 26.04.2005. 07:37 ] @
Zašao si u prilično komplikovanu problematiku.

Osnovna sigurnosna ograničenja appleta su: 1. da ne može da pristupa resursima klijent računara (na kome se kod izvršava) , i 2. da može da ostvari mrežnu konekciju samo sa HOST računarom.

Ti, dakle, pokušavaš da pristupiš resursima client računara. Da bi se to omogućilo, pre svega applet treba da bude 'trusted' tj. potpisan.

Ukoliko applet startuješ sa lokalnog file sistema, dakle ne preko http protokola, onda od sigurnosnih podešavanja browsera zavisi da li će biti dozvoljen pristup resursima.